Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 27 maja 2026 09:53
  • Data zakończenia: 27 maja 2026 10:12

Egzamin zdany!

Wynik: 34/40 punktów (85,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Jakiego rodzaju oprogramowanie narzędziowe jest wymagane, aby użytkownik mógł przeprowadzać operacje na zebranych danych?

A. Obiektowy System Zarządzania Bazą Danych
B. Otwarty mechanizm komunikacji bazy danych
C. Klucz obcy
D. System Zarządzania Bazą Danych (SZBD)
System Zarządzania Bazą Danych (SZBD) to kluczowy element w architekturze aplikacji, który umożliwia użytkownikom przechowywanie, modyfikowanie i zarządzanie danymi. Dzięki SZBD użytkownicy mogą wykonywać operacje takie jak dodawanie, usuwanie, modyfikacja danych oraz wykonywanie zapytań, co jest niezbędne w każdym systemie informacyjnym. Przykłady powszechnie stosowanych SZBD to MySQL, PostgreSQL oraz Oracle Database. W praktyce, SZBD obsługuje relacje między danymi, co pozwala na zapewnienie integralności i spójności danych. Dodatkowo, SZBD implementują standardy takie jak ACID (Atomicity, Consistency, Isolation, Durability), co jest gwarancją niezawodności transakcji. Aby efektywnie korzystać z SZBD, warto zapoznać się z językiem SQL, który jest standardem do komunikacji z bazą danych. W kontekście dobrych praktyk, umiejętność projektowania prawidłowej struktury bazy danych oraz znajomość zasad normalizacji danych są kluczowe dla optymalizacji wydajności aplikacji oraz minimalizacji ryzyka błędów danych.

Pytanie 2

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. największej
B. najmniejszej
C. nieparzystej
D. parzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 3

W języku PHP funkcja trim służy do

A. Redukowania długości tekstu o określoną w parametrze liczbę znaków
B. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
C. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. Określania długości tekstu
Funkcja trim w języku PHP jest niezwykle użyteczna, ponieważ jej głównym zadaniem jest usuwanie białych znaków oraz innych znaków, które zostaną określone w parametrze, z obu końców łańcucha tekstowego. Oznacza to, że gdy mamy do czynienia z danymi wejściowymi, które mogą zawierać niepotrzebne spacje lub znaki specjalne na początku i końcu, funkcja trim pozwala na ich łatwe oczyszczenie. Przykładowo, jeśli mamy zmienną $text = ' Hello World! ', to wywołanie trim($text) zwróci 'Hello World!'. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdzie ważne jest, aby dane były poprawnie sformatowane przed dalszym przetwarzaniem. Użycie funkcji trim może być szczególnie istotne w kontekście walidacji danych użytkownika, a także przy przetwarzaniu danych z formularzy HTML, gdzie niewłaściwe spacjowanie może prowadzić do błędów w logice aplikacji. Dodatkowo, trim może przyjmować drugi parametr, który pozwala na usunięcie konkretnych znaków, co daje programiście jeszcze większą elastyczność w manipulacji łańcuchami tekstowymi.

Pytanie 4

Zakładając, że zmienna tablicowa $tab jest wypełniona liczbami naturalnymi, wynikiem programu będzie wypisanie

$liczba = $tab[0];
foreach ($tab as $element)
{
    if ($element > $liczba)
        $liczba = $element;
}
echo $liczba;
A. najmniejszego elementu tablicy.
B. elementu tablicy, który jest równy wartości $tab[0].
C. tych elementów, które są większe od zmiennej $liczba.
D. największego elementu tablicy.
Poprawna odpowiedź sugeruje, że wynikiem programu będzie wypisanie największego elementu tablicy. To jest prawidłowe, ponieważ program używa techniki znanej jako pętla iteracyjna, aby przejść przez każdy element tablicy i porównać go z aktualnie największą znaną wartością. Na początku, największa znana wartość jest ustawiona na pierwszy element tablicy. Następnie, dla każdego elementu tablicy, program sprawdza, czy element jest większy od największej znanej wartości. Jeśli tak, to ta wartość staje się nową największą znaną wartością. Po przejściu przez wszystkie elementy, program wypisuje największą znaną wartość. Jest to standardowa technika stosowana w programowaniu, aby znaleźć największy element w tablicy lub liście.

Pytanie 5

Aby w PHP uzyskać dostęp do danych formularza przesyłanych w sposób bezpieczny, należy użyć tablicy

A. $_SERVER
B. $_FILES
C. $_POST
D. $_SESSION
Wybór niewłaściwej tablicy do odwoływania się do danych formularza może prowadzić do wielu nieporozumień w praktyce programistycznej. Tablica $_SERVER zawiera informacje o nagłówkach, ścieżkach i skryptach, które zostały uruchomione na serwerze, co czyni ją nieodpowiednią do bezpośredniego odczytu danych formularza. Z kolei $_FILES jest używana do obsługi plików przesyłanych przez formularze, co dotyczy wyłącznie sytuacji, gdy formularz zawiera pole typu 'file'. Tablica $_SESSION natomiast jest używana do przechowywania danych sesyjnych, co ma zastosowanie w kontekście przechowywania informacji o użytkownikach między różnymi stronami aplikacji. Typowym błędem jest założenie, że te tablice mogą pełnić funkcję $_POST, co prowadzi do niedokładnego przetwarzania danych. Niepoprawne podejścia są często wynikiem braku zrozumienia działania metod przesyłania danych w HTTP oraz różnicy między rodzajami tablic w PHP. Kluczowe jest zrozumienie, że każdy z tych elementów ma swoje specyficzne zastosowanie i wybór niewłaściwego narzędzia do zadań związanych z przesyłaniem danych może prowadzić do poważnych błędów w aplikacji, w tym braku możliwości prawidłowego przetworzenia danych użytkownika.

Pytanie 6

Co oznacza jednostka ppi (pixels per inch)?

A. określa rozdzielczość obrazów wektorowych
B. określa rozdzielczości obrazów generowanych przez drukarki i plotery
C. jest parametrem określającym rozdzielczość cyfrowych urządzeń wykonujących pomiary
D. określa rozdzielczość obrazów rastrowych
Jednostka ppi (pixels per inch) opisuje gęstość pikseli, czyli ile pojedynczych punktów obrazu przypada na jeden cal długości. W praktyce oznacza to rozdzielczość obrazów rastrowych, bo grafika rastrowa składa się właśnie z siatki pikseli. Im wyższe ppi, tym więcej informacji szczegółowej na danym obszarze i tym ostrzejszy, bardziej „gładki” obraz na ekranie albo w wydruku. Moim zdaniem warto to sobie wyobrazić jak mozaikę: więcej małych kafelków na tym samym obszarze daje dokładniejszy obraz. W projektowaniu grafiki na potrzeby WWW typową wartością jest 72–96 ppi, bo tyle mniej więcej mają monitory i urządzenia według standardów branżowych. Natomiast do druku przyjmuje się zwykle 300 ppi dla materiałów wysokiej jakości, co wynika z dobrych praktyk poligraficznych. Pamiętaj, że ppi dotyczy pliku rastrowego (np. PNG, JPG, PSD), a nie samej drukarki – drukarki opisuje się parametrem dpi. W pracy grafika, DTP‑owca czy webdesignera właściwe ustawienie ppi jest kluczowe, żeby obraz nie wyszedł rozmazany, ząbkowany albo nienaturalnie przeskalowany. W narzędziach takich jak Photoshop, GIMP czy Affinity Photo zawsze przy tworzeniu nowego dokumentu warto świadomie ustawić ppi odpowiednio do przeznaczenia: ekran, druk, prezentacja multimedialna.

Pytanie 7

Podczas zapisywania hasła użytkownika w serwisie WWW, na przykład w bankowości internetowej, aby zabezpieczyć je przed odczytaniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych
B. cyklometrycznych
C. klucza
D. mieszających
Zastosowanie cyklometrycznych, abstrakcyjnych czy mieszających funkcji do zabezpieczania haseł użytkowników jest nieadekwatne, gdyż każda z tych koncepcji ma swoje własne specyfikacje i zastosowanie, które nie są bezpośrednio związane z właściwym zabezpieczaniem haseł. Funkcje cyklometryczne, na przykład, są używane w programowaniu do analizy złożoności kodu, a nie do ochrony danych. Z kolei abstrakcyjne funkcje są bardziej związane z programowaniem obiektowym i nie mają zastosowania w kontekście szyfrowania haseł. Funkcje mieszające, mimo że mogą być stosowane w niektórych scenariuszach związanych z kryptografią, nie są wystarczające do zabezpieczania haseł samodzielnie. Bez dodatkowego mechanismu, takiego jak klucz szyfrujący, funkcje te mogą być niewystarczające do ochrony danych przed nieautoryzowanym dostępem. Często błędne przekonania na temat użycia różnych funkcji wynikają z niepełnego zrozumienia ich przeznaczenia oraz pomylenia ich z technikami szyfrowania lub hashowania, co prowadzi do niewłaściwych strategii zabezpieczania informacji. Właściwe podejście powinno zawsze uwzględniać standardy branżowe oraz najlepsze praktyki, takie jak stosowanie silnych algorytmów szyfrujących oraz odpowiednie zarządzanie kluczami.

Pytanie 8

W tabeli o nazwie zadania znajduje się kolumna tekstowa status. Jakie zapytanie należy wykorzystać, aby usunąć te rekordy, w których status to ‘zamknięte’?

A. TRUNCATE TABLE zadania;
B. DELETE FROM zadania;
C. TRUNCATE TABLE zadania WHERE status = 'zamknięte';
D. DELETE FROM zadania WHERE status = 'zamknięte';
Odpowiedź 'DELETE FROM zadania WHERE status = 'zamknięte';' jest poprawna, ponieważ ta kwerenda w sposób precyzyjny usuwa tylko te rekordy z tabeli 'zadania', które mają status 'zamknięte'. Użycie klauzuli WHERE jest kluczowe, ponieważ pozwala na ograniczenie operacji usunięcia do konkretnych wierszy w tabeli, co jest zgodne z najlepszymi praktykami w zarządzaniu bazami danych. Należy unikać bezwarunkowego usuwania wszystkich rekordów, jak w przypadku kwerendy 'DELETE FROM zadania;', co mogłoby spowodować utratę danych, które są nadal potrzebne. Przykłady zastosowania tej kwerendy można znaleźć w wielu systemach zarządzania projektami, gdzie często musimy archiwizować lub usuwać zakończone zadania. Dodatkowo stosowanie klauzuli WHERE jest zgodne z zasadą minimalizacji zmian w bazie danych, co jest istotne dla zapewnienia integralności danych i umożliwienia ich późniejszej analizy.

Pytanie 9

Który efekt został zaprezentowany na filmie?

A. Zmniejszenie kontrastu zdjęcia.
B. Przenikanie zdjęć.
C. Zmiana jasności zdjęć.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 10

W tabeli pracownicy zdefiniowano klucz główny jako INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowano kolumny imie oraz nazwisko. W przypadku wykonania poniższej kwerendy SQL wprowadzającej dane, w której pominięto pole klucza, w bazie danych MySQL wystąpi:

INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak');
A. ignorowanie polecenia, tabela nie ulegnie zmianie
B. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
C. błąd związany z nieprawidłową liczbą kolumn
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
Jak używasz polecenia INSERT w MySQL i masz klucz główny ustawiony jako AUTO_INCREMENT, to system sam zajmie się przydzieleniem nowej, unikalnej wartości dla tego klucza dla każdego nowego rekordu. Kiedy wprowadzasz dane o pracowniku, takie jak imię i nazwisko, to nie musisz martwić się o podawanie wartości klucza głównego. MySQL świetnie to rozumie i dodaje kolejny wolny numer. To jest zgodne z dobrymi praktykami w bazach danych, gdzie klucz główny musi być unikalny dla każdego rekordu, ale niekoniecznie musisz go podawać ręcznie, szczególnie gdy korzystasz z mechanizmu AUTO_INCREMENT. Weźmy na przykład tabelę zamówień – tam każdy nowy wpis automatycznie dostaje unikalny numer zamówienia, co eliminuje ryzyko błędów i ułatwia późniejsze śledzenie danych. Dzięki AUTO_INCREMENT wprowadzanie danych staje się dużo prostsze, a szansa na pomyłki przy manualnym wpisywaniu wartości klucza głównego znacznie maleje.

Pytanie 11

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. Python
B. JavaScript
C. PHP
D. C#
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 12

Zamieszczony kod HTML formularza zostanie wyświetlony przez przeglądarkę w sposób:

<form>
stanowisko: <input type="text"> <br>
obowiązki: <br>
<input type="checkbox" name="obowiazki1" value="1" disabled checked> sporządzanie dokumentacji<br>
<input type="checkbox" name="obowiazki2" value="2" checked>pisanie kodu<br>
<input type="checkbox" name="obowiazki3" value="3">testy oprogramowania<br>
</form>
Ilustracja do pytania
A. D
B. A
C. C
D. B
Poprawna odpowiedź to forma, w której przeglądarka wyświetli treść formularza, uwzględniając zarówno etykiety, jak i wszystkie zaznaczone opcje. W tym przypadku, po wypełnieniu formularza, użytkownik zobaczy: "stanowisko: obowiązki: sporządzanie dokumentacji pisanie kodu testy oprogramowania". Kluczowym aspektem jest to, że w formularzu użyto atrybutu 'disabled' dla pierwszego checkboxa, co oznacza, że nie będzie on mógł zostać odznaczony przez użytkownika, ale mimo to jego etykieta zostanie wyświetlona. Przeglądarki internetowe renderują formularze na podstawie struktury HTML, a to, co jest niewidoczne dla użytkownika (checkboxy, które są odznaczone lub zablokowane), nie wpływa na wyświetlanie tekstowych etykiet. Zgodnie z zasadami dostępności i użyteczności, ważne jest, aby użytkownik miał pełny wgląd w dostępne opcje, co poprawia interakcję z formularzem. To podejście jest zgodne z dobrymi praktykami projektowania interfejsów użytkownika, które promują przezroczystość i jasność w komunikacji z użytkownikiem.

Pytanie 13

W tabeli psy znajdują się kolumny: imie, rasa, telefon_wlasciciela, rok_szczepienia. Jakie polecenie SQL należy zastosować, aby uzyskać numery telefonów właścicieli psów, które były szczepione przed rokiem 2015?

A. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015
B. SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015
C. SELECT psy FROM rok_szczepienia < 2015
D. SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015
Wybór odpowiedzi 'SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015' jest poprawny, ponieważ spełnia wszystkie kryteria zawarte w pytaniu. Kluczowym elementem jest zastosowanie klauzuli WHERE, która filtruje wyniki do tych, gdzie rok szczepienia jest mniejszy niż 2015. Używając SELECT, wybieramy tylko kolumnę 'telefon_wlasciciela', co odpowiada na konkretną potrzebę, jaką jest uzyskanie numerów telefonów właścicieli psów, które były szczepione przed określoną datą. W praktyce, takie zapytanie może być użyteczne w sytuacjach np. przypominania właścicielom o konieczności szczepień, co wpisuje się w szerszy kontekst zarządzania zdrowiem zwierząt. Dobre praktyki w SQL obejmują również staranność przy określaniu warunków filtracji, aby zminimalizować ryzyko błędnych wyników. Warto także pamiętać o indeksowaniu kolumn w bazie danych, co może przyspieszyć wykonywanie takich zapytań, zwłaszcza w dużych zbiorach danych.

Pytanie 14

Jakie zapytanie umożliwi Administratorowi odebranie uprawnień do przeglądania oraz edytowania danych w bazie gazeta, dla użytkownika redaktor?

A. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
B. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
C. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
D. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
Odpowiedź jest poprawna, ponieważ zapytanie REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera użytkownikowi redaktor prawa do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w tabeli gazeta. W kontekście zarządzania uprawnieniami w systemach baz danych, kluczowym elementem jest kontrola dostępu. Standard SQL definiuje polecenie REVOKE jako sposób na cofnięcie przyznanych wcześniej uprawnień. W praktyce, administratorzy baz danych muszą ścisle zarządzać uprawnieniami użytkowników, aby zapewnić bezpieczeństwo danych i zgodność z politykami ochrony informacji. Przykładem zastosowania mogłoby być ograniczenie dostępu do poufnych danych w przypadku, gdy użytkownik przestaje pełnić określoną rolę w organizacji. Rezygnacja z uprawnień powinna być zawsze udokumentowana i przeprowadzona zgodnie z procedurami, by zapobiec nieautoryzowanemu dostępowi do danych. Zarządzanie uprawnieniami to kluczowy aspekt administrowania bazami danych, który wpływa na bezpieczeństwo i integralność informacji.

Pytanie 15

Metoda w języku PHP, która pełni rolę konstruktora, nosi nazwę

A. _new
B. _open
C. _create
D. _construct
Konstruktor w języku PHP to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia obiektu danej klasy. Nazwa konstruktora w PHP to __construct, co jest zgodne z konwencjami programistycznymi i standardem PSR-1. Zastosowanie konstruktora pozwala na inicjalizację obiektu oraz przekazywanie parametrów, które mogą być wykorzystane w dalszej części kodu. Na przykład, jeśli mamy klasę `Samochod`, możemy zdefiniować konstruktor, który przyjmuje parametry takie jak marka, model i rok produkcji. Dzięki temu każdy nowo utworzony obiekt samochodu będzie miał ustawione te wartości. Stosowanie konstruktorów jest powszechną praktyką w programowaniu obiektowym, co sprzyja lepszemu zarządzaniu kodem i jego czytelności. Przykład: `public function __construct($marka, $model, $rok) { $this->marka = $marka; $this->model = $model; $this->rok = $rok; }`. Warto również pamiętać, że konstruktor może dziedziczyć właściwości i metody z klasy rodzicielskiej, co jest kluczowe w kontekście programowania obiektowego.

Pytanie 16

W HTML informacje o autorze, streszczeniu oraz słowach kluczowych strony powinny być umieszczone

A. pomiędzy znacznikami <body> i </body>, w znaczniku <meta>
B. pomiędzy znacznikami <body> i </body>, w znaczniku <html>
C. pomiędzy znacznikami <head> i </head>, w znaczniku <meta>
D. pomiędzy znacznikami <head> i </head>, w znaczniku <style>
W HTML kluczowe informacje, takie jak autor, streszczenie i słowa kluczowe, powinny być umieszczone między znacznikami <head> i </head>. Te znaczniki <meta> są naprawdę ważne, bo to one informują przeglądarki i wyszukiwarki o tym, co jest w Twojej stronie. Na przykład, znaczniki <meta name="description" content="Opis strony"> oraz <meta name="keywords" content="słowo1, słowo2, słowo3">. Dzięki tym danym, wyszukiwarki lepiej rozumieją, o czym jest strona, co może wpłynąć na jej pozycję w wynikach wyszukiwania. Moim zdaniem, dobrze przemyślane opisy i słowa kluczowe to klucz do sukcesu, bo to one przyciągają użytkowników do kliknięcia w Twój link. Pamiętaj też, że znacznik <title> i inne meta tagi w <head> są mega istotne dla SEO. Informacje te tworzą podstawy Twojego dokumentu HTML, więc warto je dobrze wypełnić, żeby strona działała jak należy.

Pytanie 17

Które z poniższych poleceń JavaScript zmieni kolor tekstu na niebieski w paragrafie oznaczonym w HTML?

<p id="jeden">Kwalifikacja EE.01</p>
A. document.getElementById("jeden").style.background-color = "blue";
B. document.getElementById("jeden").style.color = "blue";
C. document.getElementById("jeden").color = "blue";
D. document.getElementById("jeden").background-color = "blue";
W języku JavaScript do zmiany stylu elementu HTML używamy obiektu style powiązanego z danym elementem. W przypadku zmiany koloru tekstu w akapicie używamy właściwości color. Poprawna składnia to document.getElementById("jeden").style.color = "blue";. Funkcja getElementById pobiera element o podanym identyfikatorze w tym przypadku jeden. Następnie poprzez przypisanie wartości blue do style.color zmieniamy kolor tekstu wewnątrz tego elementu na niebieski. Jest to zgodne z praktykami programowania w JavaScript ponieważ separacja stylów od treści jest istotna dla czytelności i utrzymania kodu a użycie style pozwala na bezpośrednią modyfikację właściwości CSS. Dobre praktyki sugerują aby stylowanie umieszczać w plikach CSS jednak JavaScript daje możliwość dynamicznej modyfikacji stylów co jest użyteczne w interaktywnych aplikacjach webowych. Przykładowo podczas tworzenia dynamicznych interfejsów użytkownika możemy reagować na różne zdarzenia zmieniając style elementów w odpowiedzi na działania użytkownika co zwiększa responsywność i atrakcyjność aplikacji.

Pytanie 18

W CSS zapisany w ten sposób:

p { background-image: url("rysunek.png"); }

spowoduje, że rysunek.png stanie się

A. tłem całej witryny
B. widoczny obok każdego akapitu
C. wyświetlony, jeśli w kodzie użyty zostanie znacznik img
D. tłem każdego akapitu
Zapis CSS p { background-image: url("rysunek.png"); } oznacza, że dla każdego elementu akapitowego <p> w dokumencie zostanie ustawione tło w postaci grafiki o nazwie rysunek.png. Ta reguła selektora p dotyczy wyłącznie znaczników akapitu, więc nie wpłynie na inne elementy strony, takie jak body czy img. Tak się to stosuje w praktyce: projektując na przykład bloga, możesz dodać delikatny deseń lub obrazek w tle akapitu, żeby całość wyglądała ciekawiej albo podkreślała styl witryny. Co ciekawe, background-image w CSS pozwala na olbrzymią elastyczność — możesz wykorzystać obrazy, gradienty czy nawet SVG jako tło. Standardy CSS jasno to definiują: background-image działa zawsze na tym elemencie, dla którego zadeklarowano regułę w selektorze. Warto pamiętać, że tło nie przesłoni tekstu w akapicie, tylko się pod nim wyświetli, więc czytelność jest zachowana. Z własnego doświadczenia uważam, że umiejętność stosowania background-image do konkretnych elementów to jedno z podstawowych narzędzi webdevelopera — pozwala przygotować naprawdę estetyczne i przejrzyste layouty. Dobrym nawykiem jest także testowanie widoczności tła na różnych urządzeniach, bo rozdzielczości i skalowanie potrafią zaskoczyć. Dla porządku, jeśli podasz background-image bez żadnych dodatkowych parametrów (jak powtarzanie czy pozycjonowanie), obrazek domyślnie będzie się powtarzał w poziomie i pionie, aż pokryje cały akapit.

Pytanie 19

Na ilustracji przedstawiono związek jeden do wielu. Łączy on

Ilustracja do pytania
A. klucz podstawowy id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
B. klucz obcy rezyserzy_id w tabeli filmy z kluczem obcym id w tabeli rezyserzy
C. klucz podstawowy id w tabeli z kluczem obcym rezyserzy_id w tabeli rezyserzy
D. klucz obcy rezyserzy_id w tabeli filmy z kluczem podstawowym id w tabeli rezyserzy
Relacja jeden do wielu jest kluczowym elementem projektowania baz danych i występuje, gdy pojedynczy rekord w jednej tabeli może być powiązany z wieloma rekordami w innej tabeli. W tym przypadku mamy do czynienia z relacją między tabelą 'rezyserzy' i 'filmy'. Klucz podstawowy 'id' w tabeli 'rezyserzy' jest związany z kluczem obcym 'rezyserzy_id' w tabeli 'filmy'. Oznacza to, że jeden reżyser może być autorem wielu filmów. Klucz obcy w tabeli 'filmy' wskazuje na odpowiedni rekord w tabeli 'rezyserzy', co zapewnia integralność danych i umożliwia wykonywanie operacji takich jak JOIN w języku SQL, co jest przydatne przy pobieraniu danych z obu tabel jednocześnie. W praktyce stosowanie kluczy obcych jest standardową praktyką w projektowaniu relacyjnych baz danych, ponieważ ułatwia organizację i normalizację danych. Zrozumienie tych relacji jest niezbędne dla każdego, kto pracuje z bazami danych, gdyż pozwala na efektywne zarządzanie i analizowanie danych w skomplikowanych systemach informatycznych.

Pytanie 20

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript? ```javascript document.write(Math.round(4.51) + Math.pow(2, 3)); ```

A. 11
B. 14
C. 13
D. 12
Zobaczmy, jak doszliśmy do poprawnej odpowiedzi 13. W kodzie JavaScript mamy fragment: <script type='text/javascript'> document.write(Math.round(4.51) + Math.pow(2, 3)); </script>. Co tu się dzieje? Dwie główne operacje to zaokrąglanie i potęgowanie. Funkcja Math.round(4.51) zaokrągla do najbliższej liczby i zwraca 5. Potem mamy Math.pow(2, 3), które daje wynik 8, bo 2 do potęgi 3 to 2 * 2 * 2. Jak to zsumujemy, to mamy 5 + 8, co daje 13. Warto wiedzieć, że Math.round i Math.pow są częścią obiektu Math w JavaScript, który ma różne przydatne funkcje. Na przykład, Math.sqrt() oblicza pierwiastek kwadratowy, a Math.random() daje losowe liczby. To są naprawdę przydatne rzeczy w aplikacjach webowych, gdzie często potrzebujemy obliczeń z danymi liczbowymi. Standard ECMA-262 opisuje, jak te funkcje mają działać, więc możemy być pewni, że będą działać tak samo w różnych środowiskach JavaScript.

Pytanie 21

W zakresie ochrony serwera bazy danych przed atakami hakerównie wlicza się

A. blokada portów powiązanych z bazą danych
B. używanie skomplikowanych haseł do bazy
C. aktywacja zapory
D. defragmentacja dysków
Wybór odpowiedzi związanej z blokowaniem portów, włączeniem zapory oraz stosowaniem złożonych haseł jest zgodny z najlepszymi praktykami w zakresie zabezpieczeń serwera bazy danych. Blokowanie portów to kluczowy krok, który ogranicza dostęp do usług bazodanowych tylko dla autoryzowanych użytkowników. Wiele ataków z zewnątrz wykorzystuje otwarte porty, dlatego ich zablokowanie jest podstawowym zabezpieczeniem. Zapory sieciowe, zarówno sprzętowe, jak i programowe, są niezbędne do filtrowania ruchu i ochrony przed nieautoryzowanym dostępem. Z kolei stosowanie złożonych haseł jest fundamentalnym elementem ochrony danych - hasła powinny być długie, zawierać znaki specjalne, cyfry oraz różne przypadki liter, aby znacznie utrudnić ich złamanie. Praktyczne przykłady pokazują, że organizacje, które nie implementują tych zabezpieczeń, stają się łatwym celem dla cyberprzestępców. Warto również wspomnieć o dodatkowych środkach, takich jak szyfrowanie danych w bazach, co dodatkowo podnosi poziom ochrony informacji. Brak znajomości tych zasad może prowadzić do niedostatecznej ochrony przed zagrożeniami, co w dzisiejszym, złożonym środowisku IT, jest nieakceptowalne.

Pytanie 22

Arkusze stylów w formacie kaskadowym są tworzone w celu

A. ułatwienia formatowania strony
B. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
C. połączenia struktury dokumentu strony z odpowiednią formą jej wizualizacji
D. nadpisywania wartości znaczników, które już zostały ustawione na stronie
Wybór błędnych odpowiedzi może wynikać z nieporozumienia dotyczącego funkcji kaskadowych arkuszy stylów i ich zastosowania w procesie tworzenia stron internetowych. Odpowiedzi sugerujące blokowanie jakichkolwiek zmian w wartościach znaczników w pliku CSS są mylące, ponieważ CSS zaprojektowane jest właśnie po to, aby umożliwiać modyfikacje stylów. Arkusze stylów nie blokują zmian, tylko lepiej organizują i strukturalizują kod, co sprzyja łatwiejszemu wprowadzaniu przyszłych poprawek. Z kolei połączenie struktury dokumentu strony z właściwą formą prezentacji jest bardziej związane z HTML, który odpowiada za strukturę treści strony. CSS natomiast odpowiada głównie za stylizację i nie ma na celu bezpośredniego łączenia tych aspektów, lecz oddzielenie ich. Warto również zauważyć, że nadpisywanie wartości znaczników na stronie to szczególna funkcjonalność CSS, ale nie jest to jej główny cel. Główna idea CSS polega na uproszczeniu procesu formatowania, co podkreśla znaczenie kaskadowości, gdzie reguły mogą być dziedziczone i nadpisywane w sposób przemyślany i kontrolowany. Typowymi błędami myślowymi w tym kontekście są zamiana celów CSS z HTML oraz brak zrozumienia mechanizmów kaskadowości, co prowadzi do nieprawidłowych wniosków na temat roli, jaką CSS odgrywa w projektowaniu stron internetowych.

Pytanie 23

W jakim typie pliku powinno się zapisać zdjęcie, aby mogło być wyświetlane na stronie WWW z zachowaniem efektu przezroczystości?

A. PNG
B. BMP
C. CDR
D. JPG
Format PNG (Portable Network Graphics) jest idealnym wyborem do przechowywania obrazów z przezroczystością, ponieważ obsługuje kanał alfa, który pozwala na reprezentację przezroczystości w obrazach. Ta cecha jest szczególnie cenna w projektowaniu stron internetowych, gdzie grafiki muszą być dopasowane do różnych tła bez widocznych krawędzi. Przykładowo, logo firmy zapisane w formacie PNG może być umieszczone na stronie o różnych kolorach tła, zachowując estetyczny wygląd i nie zaburzając kompozycji. Ponadto, PNG jest formatem bezstratnym, co oznacza, że zachowuje jakość oryginalnego obrazu podczas kompresji, co jest ważne, gdy zależy nam na zachowaniu szczegółów i kolorów. W praktyce, wiele przeglądarek internetowych i edytorów graficznych obsługuje ten format, co czyni go standardem w branży. Dlatego dla grafik z przezroczystością PNG jest najczęściej zalecanym formatem, zgodnym z aktualnymi standardami i najlepszymi praktykami w dziedzinie projektowania stron internetowych.

Pytanie 24

Aby sformatować wszystkie obrazy w akapicie przy użyciu stylów CSS, należy zastosować selektor

A. p.img
B. p img
C. p # img
D. p + img
Żeby odpowiednio sformatować wszystkie obrazki w akapicie za pomocą CSS, najlepiej użyć selektora 'p img'. Ten selektor działa na wszystkie obrazki <img>, które są bezpośrednio w akapitach. Po prostu chodzi o to, że styl będzie zastosowany tylko do tych obrazków, które są w <p>. Na przykład, jeśli mamy coś takiego: <p><img src='obraz.jpg' alt='Obraz'></p>, to dzięki 'p img' w CSS możemy ustawić ich szerokość na 100% i dodać marginesy. Takie podejście świetnie działa w responsywnym projektowaniu. Warto też pamiętać o dostępności i SEO, dlatego dobrze by było dodać atrybuty alt do każdego obrazka. Używanie selektorów CSS w ten sposób jest zgodne z praktykami W3C, więc nasz kod będzie bardziej czytelny i łatwiejszy w utrzymaniu.

Pytanie 25

Aby skutecznie zrealizować algorytm znajdujący największą wartość spośród trzech podanych liczb a, b oraz c, wystarczy zastosować

A. pięć zmiennych
B. dwie tablice
C. dwa warunki
D. jedną pętlę
Aby znaleźć największą z trzech liczb a, b i c, stosując dwa warunki, można wykorzystać porównania. Pierwszym krokiem jest porównanie a i b, aby ustalić, która z tych liczb jest większa. Następnie porównujemy wynik z c. To podejście jest efektywne, ponieważ wymaga jedynie dwóch porównań (warunków) do określenia największej liczby z trzech. Taka metoda jest nie tylko prosta, ale również zgodna z dobrymi praktykami programowania, które stawiają na wydajność i czytelność kodu. Przykładowy kod w języku Python może wyglądać następująco: python max_value = a if b > max_value: max_value = b if c > max_value: max_value = c Warto zwrócić uwagę, że bardziej złożone metody, takie jak stosowanie pętli czy tablic, są niepotrzebne w tym przypadku i mogą wprowadzać niepotrzebną złożoność do kodu. W codziennym programowaniu dążymy do minimalizowania liczby operacji, aby zwiększyć wydajność, szczególnie w sytuacjach, gdy mamy ograniczone zasoby obliczeniowe. Ponadto, rozważając stosowanie algorytmów, które można łatwo zrozumieć, wspieramy przyszłą konserwację i rozwój oprogramowania.

Pytanie 26

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. style
B. text
C. src
D. alt
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 27

Który z typów plików dźwiękowych oferuje największą kompresję rozmiaru?

A. WAV
B. CD-Audio
C. MP3
D. PCM
Format MP3 (MPEG Audio Layer III) jest standardem kompresji stratnej, który znacząco zmniejsza rozmiar pliku dźwiękowego, zachowując przy tym akceptowalną jakość dźwięku. Technologia ta wykorzystuje algorytmy psychoakustyczne, które eliminują dźwięki, które są mniej słyszalne dla ludzkiego ucha. Dzięki temu możliwe jest osiągnięcie redukcji rozmiaru pliku o 70-90% w porównaniu z jakością oryginalnego nagrania. Praktyczne zastosowanie formatu MP3 jest szerokie: od przesyłania muzyki przez internet po użycie w odtwarzaczach multimedialnych oraz smartfonach. Możliwość dostosowania bitrate'u (od 32 kbps do 320 kbps) pozwala użytkownikom na balansowanie pomiędzy jakością a rozmiarem pliku. MP3 stał się de facto standardem w dystrybucji muzyki cyfrowej, a jego wsparcie w praktycznie każdym odtwarzaczu audio czyni go niezwykle uniwersalnym. Warto również dodać, że MP3 jest zgodny z wieloma standardami, takimi jak ID3, które umożliwiają dołączanie metadanych do plików audio, co dodatkowo podnosi jego funkcjonalność.

Pytanie 28

Znak pisarski @ jest czytany w języku angielskim jako

A. at.
B. monkey.
C. ape.
D. on.
Poprawna odpowiedź to „at”, bo właśnie tak w języku angielskim czyta się znak @. Ten znak nazywa się w terminologii technicznej „at sign” albo „commercial at”. W praktyce najczęściej spotykasz go w adresach e‑mail, np. w zapisie [email protected] czytamy to jako „user at example dot com”. W dokumentacji technicznej, w standardach internetowych (RFC dotyczących e‑maili, jak RFC 5322) i w różnych tutorialach programistycznych zawsze przyjmuje się właśnie taką wymowę i nazwę. W kontekście tworzenia stron WWW i programowania webowego dobrze jest kojarzyć zarówno nazwę znaku, jak i jego typowe zastosowanie. W HTML sam znak @ nie ma specjalnego znaczenia składniowego, ale pojawia się w treści, np. w linkach mailto: <a href="mailto:[email protected]">. W CSS czasem widzisz tzw. at‑rules, np. @media, @import, @font-face – tu też w dokumentacji wprost jest mowa o „at‑rule”. W różnych językach programowania webowego symbol @ ma różne role: w PHP oznacza operator wyciszający błędy (co zresztą jest uznawane za złą praktykę), w wielu frameworkach jest używany w szablonach (np. Blade w Laravelu: @if, @foreach), w adnotacjach czy dekoratorach w innych technologiach. Moim zdaniem warto po prostu przyzwyczaić się do angielskiej nazwy „at”, bo w pracy z dokumentacją, Stack Overflow, oficjalnymi specyfikacjami czy logami systemowymi praktycznie nikt nie używa żadnych lokalnych, zabawnych nazw. To drobny szczegół, ale w branży IT takie detale językowe bardzo ułatwiają komunikację w zespole i z klientem.

Pytanie 29

W języku C, aby zdefiniować stałą, należy zastosować

A. #INCLUDE
B. #CONST
C. const
D. static
W języku C, aby zadeklarować stałą, należy użyć słowa kluczowego 'const'. Użycie 'const' umożliwia programiście zdefiniowanie zmiennej, której wartość nie może być zmieniana w trakcie działania programu. To podejście jest zgodne z dobrymi praktykami programowania, ponieważ pozwala na większą kontrolę nad danymi i minimalizuje ryzyko przypadkowej modyfikacji istotnych wartości. Na przykład, jeżeli chcemy zdefiniować stałą wartość liczby pi, możemy użyć: 'const double PI = 3.14159;'. Taka deklaracja zapewnia, że PI pozostanie niezmienne w trakcie działania programu. Użycie 'const' jest również istotne w kontekście bezpieczeństwa kodu, ponieważ zmniejsza prawdopodobieństwo wystąpienia błędów związanych z modyfikacją wartości, które powinny pozostać stałe. Warto również zauważyć, że używanie stałych w programowaniu zwiększa czytelność kodu, ponieważ jasno wskazuje na zamiar programisty, że pewne wartości nie powinny być zmieniane. Dodatkowo, stałe mogą być używane w kontekście makr preprocesora, co wprowadza dodatkowe możliwości zdefiniowania stałych, które mogą być używane w całym kodzie przy zachowaniu zasad programowania defensywnego.

Pytanie 30

W zaprezentowanej części formularza HTML znajduje się pole, które można określić jako?

<input type="password" name="pole">
A. domyślnie posiada wpisany tekst "pole".
B. wyświetla wprowadzone znaki.
C. ukrywa wprowadzone znaki.
D. pozwala na wprowadzanie jedynie wartości liczbowych.
Twoja odpowiedź jest właściwa. W tym fragmencie formularza HTML mamy pole <i>input</i>, które wprowadzone znaki ukrywa. To dzięki atrybutowi 'type="password"' w elemencie <i>input</i>. W HTML atrybut 'type' mówi nam, jaki typ danych użytkownik może wprowadzić do tego pola. Jak masz 'password', to wpisane rzeczy są zasłonięte symbolami, jak np. gwiazdki czy kropki, żeby chronić dane użytkownika. To standardowa sprawa, szczególnie dla haseł i innych ważnych informacji, żeby nikt ich nie zobaczył. Pamiętaj, że takie pola powinny być zawsze dobrze oznaczone i zabezpieczone, to ważne dla bezpieczeństwa.

Pytanie 31

Aby prawidłowo zorganizować hierarchiczną strukturę tekstu na stronie internetowej, powinno się wykorzystać

A. znaczniki <h1>, <h2> oraz <p>
B. znaczniki <frame> i <table>
C. znacznik <p> z formatowaniem
D. znacznik <div>
Aby poprawnie zdefiniować hierarchiczną strukturę tekstu witryny internetowej, kluczowe jest zastosowanie znaczników <h1>, <h2>, oraz <p>. Znacznik <h1> jest najważniejszym nagłówkiem na stronie i powinien być używany tylko raz, aby wskazać główny temat treści. Z kolei znaczniki <h2> służą do wyodrębnienia podtematów, co pozwala na tworzenie czytelnej i logicznej struktury dokumentu. Dzięki tym znacznikom, zarówno użytkownicy, jak i wyszukiwarki internetowe mogą łatwiej zrozumieć hierarchię treści. Znacznik <p> jest używany do definiowania akapitów, co dodatkowo poprawia czytelność tekstu. Zastosowanie tej struktury jest zgodne z wytycznymi W3C oraz zasadami SEO, co przyczynia się do lepszego indeksowania przez wyszukiwarki. Przykładowo, strona internetowa poświęcona zdrowemu stylowi życia może mieć <h1> jako 'Zdrowy Styl Życia', a <h2> jako 'Dieta' i 'Ćwiczenia', co ułatwia użytkownikom nawigację oraz przyswajanie treści.

Pytanie 32

W hurtowni utworzono tabelę sprzedaż, która zawiera pola: id, kontrahent, grupa_cenowa oraz obrot. Jakie polecenie należy wykorzystać, aby znaleźć tylko kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł?

A. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa=2 AND obrot>4000
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 OR obrot>4000
C. SELECT sprzedaz FROM kontrahent WHERE obrot>4000
D. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000
Aby skutecznie wyszukać kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000 zł, należy zastosować odpowiednie zapytanie SQL. W tym przypadku, kluczowe jest zrozumienie użycia klauzul WHERE, które filtrują wyniki na podstawie określonych warunków. Poprawne zapytanie to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa=2 AND obrot>4000;'. W tym zapytaniu wybieramy kolumnę kontrahent z tabeli sprzedaz, filtrując wyniki na podstawie dwóch warunków: przynależności do drugiej grupy cenowej oraz obrotu większego niż 4000 zł. Operator AND jest istotny, ponieważ oba warunki muszą być spełnione, aby dany rekord został zwrócony. Takie podejście jest zgodne z zasadami normalizacji baz danych, co pozwala na zachowanie integralności danych i efektywność zapytań. Przykładem może być sytuacja, w której w tabeli znajdują się kontrahenci o różnych grupach cenowych i obrotach; zastosowanie powyższego zapytania pozwoli nam na wyselekcjonowanie tylko tych kontrahentów, którzy spełniają oba kryteria, co jest niezwykle przydatne w analizie sprzedaży i podejmowaniu decyzji biznesowych.

Pytanie 33

Który składnik nie jest wymagany do instalacji i uruchomienia systemu CMS Joomla!?

A. parser PHP
B. baza danych
C. serwer WWW
D. platforma .NET
W pytaniu o wymagania systemowe dla Joomla! bardzo łatwo pomylić ogólne pojęcie „serwer” czy „platforma” z konkretnymi technologiami, które faktycznie są potrzebne. Joomla! to klasyczny CMS napisany w PHP, który działa w architekturze klient–serwer zgodnej z typowym modelem aplikacji webowych. Do poprawnego działania potrzebuje trzech filarów: serwera WWW, interpretera PHP oraz relacyjnej bazy danych. Serwer WWW, taki jak Apache czy Nginx, przyjmuje żądania HTTP z przeglądarki, obsługuje pliki statyczne i przekazuje żądania do skryptów PHP. Bez tego elementu użytkownik w ogóle nie byłby w stanie połączyć się z witryną. Parser (interpretator) PHP jest absolutnie kluczowy, bo cały kod Joomla! – logika logowania, panele administracyjne, generowanie treści, system szablonów – jest napisany właśnie w tym języku. To nie jest zwykły „dodatek”, tylko środowisko uruchomieniowe aplikacji. Baza danych z kolei przechowuje wszystkie dynamiczne dane: artykuły, użytkowników, uprawnienia, moduły, konfigurację. Bez bazy CMS przestałby być „systemem zarządzania treścią”, bo nie miałby gdzie tej treści trwale zapisywać. Częsty błąd myślowy polega na wrzucaniu do jednego worka wszystkich technologii serwerowych: skoro coś działa „na serwerze”, to może wymaga .NET, Javy, PHP – wszystko jedno. Tymczasem każdy CMS jest pisany w konkretnej technologii i wymaga zgodnego z nią środowiska. Joomla! nie wykorzystuje ASP.NET ani bibliotek .NET, więc platforma .NET nie jest jej potrzebna do niczego. Można mieć serwer z zainstalowanym .NET, ale jeśli nie ma tam PHP i odpowiedniej bazy danych, Joomla! i tak nie ruszy. Z mojego doświadczenia warto zawsze zaczynać od sprawdzenia, w jakim języku napisane jest dane oprogramowanie webowe i pod to dobierać stos serwerowy, zamiast zakładać, że każda aplikacja webowa wymaga .NET tylko dlatego, że kojarzy się on z „nowoczesnym” serwerem.

Pytanie 34

Zawarte polecenie SQL wykonuje

UPDATE Uczen SET id_klasy = id_klasy + 1;
A. ustalić wartość pola Uczen na 1
B. zwiększyć o jeden wartość w kolumnie id_klasy dla wszystkich rekordów tabeli Uczen
C. powiększyć wartość pola Uczen o jeden
D. ustalić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen
Polecenie SQL, które analizujemy, to: `UPDATE Uczen SET id_klasy = id_klasy + 1;`. Jego celem jest zwiększenie wartości w kolumnie `id_klasy` o jeden dla wszystkich rekordów w tabeli `Uczen`. Wykorzystanie operacji `SET` w poleceniu `UPDATE` umożliwia modyfikację istniejących danych w bazie. W tym przypadku każda wartość w kolumnie `id_klasy` zostaje powiększona o jeden. To technika często stosowana przy aktualizacjach, gdzie potrzebujemy inkrementować wartości, np. w przypadku liczników, numeracji czy przesuwania pozycji. Stosowanie `UPDATE` zgodnie z dobrymi praktykami wymaga ostrożności, zwłaszcza przy operacjach masowych, aby unikać niezamierzonych zmian w danych. Ważne jest, aby przed wykonaniem takich operacji upewnić się, że kopia zapasowa danych jest dostępna, a operacja została przetestowana w środowisku testowym, aby uniknąć potencjalnych problemów w środowisku produkcyjnym.

Pytanie 35

Podczas transmisji cyfrowego materiału wideo parametrem, który wpływa na jakość obrazu i dźwięku, jest bitrate. Ta wielkość określa liczbę

A. bitów przesyłanych w określonym czasie
B. próbek dźwięku w określonym czasie
C. pikseli obrazu wyświetlanych na monitorze
D. pikseli wyświetlanego obrazu wyrażoną jako stosunek jego długości do wysokości
Odpowiedzi, które nie są trafne, dotyczą różnych aspektów przesyłania danych, ale żadna z nich nie mówi bezpośrednio o przepływności, która jest kluczowa. Na przykład liczba próbek dźwięku w czasie jest ważna dla jakości dźwięku, ale nie ma związku z przepływnością wideo. Jasne, więcej próbek to lepszy dźwięk, ale to nie oznacza, że mówimy o przepływności, która koncentruje się na bitach na sekundę. Podobnie z pikselami obrazu – są ważne dla jakości wizualnej, ale ich liczba nie wpływa na przepływność, tylko na rozdzielczość. Wysoka rozdzielczość potrzebuje wyższej przepływności, ale sama w sobie nie jest miarą przepływności. A iloraz długości do wysokości pikseli, choć istotny dla proporcji, też nie ma nic wspólnego z przepływnością. Te wszystkie parametry dotyczą różnych aspektów technologii audio-wizualnej i nie mówią o tym, ile bitów przesyłamy w czasie, a to jest kluczowe dla zrozumienia przepływności.

Pytanie 36

Jakie jest właściwe określenie stylu CSS dla przycisku typu submit z czarnym tłem, bez ramki oraz z marginesami wewnętrznymi równymi 5 px?

input[type=submit] {
    background-color: #000000;
    border: none;
    padding: 5px;
} A
input[type=submit] {
    background-color: #ffffff;
    border: none;
    padding: 5px;
} B
input=submit {
    background-color: #000000;
    border: none;
    margin: 5px;
} C
input=submit {
    background-color: #000000;
    border: 0px;
    margin: 5px;
} D
A. D
B. A
C. B
D. C
Odpowiedź A jest na pewno właściwa, bo definiuje styl CSS dla przycisku input o typie submit. Ustawienie background-color na #000000 to kluczowa sprawa, bo w pytaniu wymagano czarnego tła. Dodatkowo użycie selektora input[type=submit] jest naprawdę dobrym pomysłem, bo precyzyjnie wskazuje ten konkretny element formularza. Warto też zauważyć, że border: none; usuwa obramowanie, co zgadza się z wymaganiami. Padding: 5px; dodaje trochę miejsca wewnątrz przycisku, więc tekst nie przylega do krawędzi. Stylowanie przycisków typu submit jest istotne w projektowaniu, bo wpływa na estetykę i funkcjonalność. Nie zapominaj, że CSS daje możliwość naprawdę fajnego dostosowywania wyglądu, co pozwala na stworzenie atrakcyjnych i łatwych w obsłudze elementów. Dobrze jest stosować selektory z wysoką specyficznością i unikać przesadnego używania !important, bo to może skomplikować sprawy związane z kaskadą stylów. Na przykład zmienne CSS mogą pomóc uporządkować kolory w większych projektach, co jest przydatne.

Pytanie 37

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. weryfikacja, czy baza działa wystarczająco efektywnie
B. przyznanie uprawnień do przeglądania bazy dla Administratora
C. określenie systemu kodowania znaków w bazie
D. sprawdzenie integralności bazy oraz ewentualna jej naprawa
Sprawdzenie integralności bazy danych MySQL przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który zapewnia, że wszystkie dane są w dobrym stanie i nie występują żadne uszkodzenia. Integralność bazy danych odnosi się do spójności i poprawności danych przechowywanych w bazie. Narzędzia takie jak 'CHECK TABLE' oraz 'REPAIR TABLE' pozwalają na identyfikację i naprawę potencjalnych problemów związanych z uszkodzeniami tabel. Przykładem może być sytuacja, w której dane zostały nieprawidłowo zapisane lub usunięte, co może prowadzić do błędów w aplikacjach korzystających z bazy. W przypadku wykrycia problemów, ich naprawa przed stworzeniem kopii zapasowej jest niezbędna, aby uniknąć przenoszenia uszkodzonych danych do nowej lokalizacji. Standardy branżowe, takie jak ISO 27001, podkreślają znaczenie zarządzania integralnością danych, co stanowi fundament skutecznych strategii backupowych. Właściwie przeprowadzona diagnostyka przed wykonaniem kopii bezpieczeństwa nie tylko minimalizuje ryzyko utraty danych, ale również zwiększa efektywność procesów przywracania systemu po awarii.

Pytanie 38

Analizując zamieszczony kod w języku HTML, można zauważyć, że w przeglądarce

Ilustracja do pytania
A. bloki A oraz B będą się na siebie nakładać
B. dolny margines zostanie przypisany do bloku B
C. blok B będzie oddalony od bloku A o 20 px
D. blok A zostanie przesunięty w lewo o 20 px
Odpowiedź jest prawidłowa ponieważ styl CSS margin-top: 20px zastosowany do bloku B powoduje dodanie górnego marginesu tego bloku co skutkuje odsunięciem go od bloku A o 20 pikseli. W praktyce oznacza to że w przeglądarce blok B będzie zlokalizowany 20 pikseli poniżej bloku A. Jest to standardowe zachowanie przeglądarek interpretujących HTML i CSS zgodnie z zasadami kaskadowych arkuszy stylów. Takie podejście jest zgodne z dobrymi praktykami projektowania stron internetowych gdyż pozwala na precyzyjne kontrolowanie układu elementów na stronie. Użycie jednostki pikseli jest powszechne w określaniu marginesów ze względu na przewidywalność i precyzję tej jednostki. Dzięki temu projektanci mogą osiągnąć estetyczną i funkcjonalną hierarchię wizualną co jest kluczowe w tworzeniu przejrzystych i użytecznych interfejsów użytkownika. Warto również zwrócić uwagę na fakt że marginesy są narzędziem nie tylko estetycznym ale i semantycznym zwiększając czytelność oraz dostępność treści na stronie

Pytanie 39

Przypisanie w JavaScript, zapisane jako var x=true;, prowadzi do tego, że zmienna x przyjmuje typ

A. wyliczeniowym
B. logicznym
C. liczbowym
D. ciągu znaków
Deklaracja zmiennej w języku JavaScript, przy użyciu słowa kluczowego 'var', tworzy zmienną x, której typ jest logiczny. Typ logiczny (boolean) w JavaScript ma dwa możliwe wartości: true oraz false. Jest to podstawowy typ danych, który jest szeroko używany w programowaniu do reprezentacji wartości prawda/fałsz, co jest niezbędne przy podejmowaniu decyzji, takich jak warunki w instrukcjach if, pętlach czy operacjach logicznych. Dlatego też, przypisanie wartości true do zmiennej x oznacza, że x jest typu boolean, co można zweryfikować za pomocą operatora typeof. W praktycznych zastosowaniach, typ logiczny jest niezwykle ważny, na przykład w formularzach internetowych, gdzie wartości typu boolean mogą określać, czy dany warunek został spełniony. W odniesieniu do standardów, typ boolean jest zdefiniowany w ECMAScript, co czyni go fundamentalnym elementem w programowaniu w tym języku. Zrozumienie typów danych, a szczególnie typu logicznego, jest kluczowe dla efektywnego programowania i optymalizacji kodu.

Pytanie 40

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
B. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';
C. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
Poprawne jest zapytanie: DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';. Słowo kluczowe BETWEEN w SQL oznacza przedział domknięty, czyli w tym przypadku usuwani będą pracownicy, którzy zarabiają co najmniej 500 i jednocześnie nie więcej niż 1000 zł. To dokładnie odpowiada treści zadania, bez żadnych niedomówień na granicach zakresu. Gdybyśmy użyli > i <, to wartości 500 i 1000 zostałyby wykluczone, co w tym zadaniu byłoby niezgodne z wymaganiem. Drugi warunek korzysta z operatora LIKE wraz z maską '%tx%'. Wzorzec z procentami z obu stron oznacza: znajdź wszystkie wiersze, gdzie ciąg znaków „tx” występuje gdziekolwiek w tekście kolumny miejsce_pracy – na początku, w środku albo na końcu. W MySQL znak % jest standardowym symbolem wieloznacznym (wildcard) dla dowolnego ciągu znaków, a nie gwiazdka *, dlatego zapis z % jest poprawny i zgodny z dokumentacją. Spójnik AND jest tu kluczowy, bo warunek mówi wyraźnie: usuwamy tylko tych pracowników, którzy spełniają jednocześnie oba kryteria – zarówno zakres pensji, jak i fragment tekstu w miejscu pracy. W praktyce takie zapytanie stosuje się np. przy porządkowaniu danych testowych: można szybko usunąć sztuczne rekordy z określonego przedziału płac i z wybranych lokalizacji. Moim zdaniem warto wyrabiać sobie nawyk bardzo precyzyjnego formułowania warunków logicznych (AND/OR) i zawsze sprawdzać, czy zakres jest domknięty czy otwarty. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym WHERE, zobaczyć jakie rekordy zostaną naruszone, a dopiero potem odpalać DELETE – szczególnie na produkcyjnej bazie, bo tam pomyłki bywają bolesne.