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: 6 maja 2026 14:20
  • Data zakończenia: 6 maja 2026 14:28

Egzamin zdany!

Wynik: 30/40 punktów (75,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

Model barw o parametrach: odcień, nasycenie, jasność i przezroczystość, to

A. HSLA
B. CMYK
C. RGBA
D. SRGB
Prawidłowa odpowiedź to HSLA, bo dokładnie ten model opisuje kolor za pomocą czterech parametrów: odcień (Hue), nasycenie (Saturation), jasność (Lightness) i przezroczystość (Alpha). W praktyce w CSS zapis wygląda na przykład tak: `hsla(210, 50%, 40%, 0.7)`. Pierwsza wartość, odcień, to kąt na kole barw w stopniach (0–360), gdzie 0 to czerwony, 120 to zielony, 240 to niebieski itd. Nasycenie i jasność zapisujemy w procentach – nasycenie określa „intensywność” koloru, a jasność to to, czy kolor jest ciemny czy bardzo rozjaśniony. Ostatni parametr, alpha, to kanał przezroczystości w zakresie od 0 (całkowicie przezroczysty) do 1 (całkowicie nieprzezroczysty). Moim zdaniem HSLA jest dużo wygodniejszy od klasycznego RGB przy projektowaniu interfejsów, bo łatwiej myśleć w kategoriach „przyciemnij ten kolor o 20%” albo „zmniejsz trochę nasycenie”, niż ręcznie kombinować z trzema składowymi R, G i B. W nowoczesnym front-endzie często stosuje się HSLA do definiowania palet kolorów, np. w zmiennych CSS, właśnie dlatego, że łatwo jest tworzyć spójne warianty: hover, focus, disabled, tła, obramowania. Dobre praktyki w UI/UX mówią, żeby trzymać stały odcień (Hue) dla jednego typu akcji, a zmieniać głównie jasność i nasycenie, żeby uzyskać różne stany tego samego koloru. Warto też wiedzieć, że HSLA to tak naprawdę tylko inny sposób zapisu kolorów w przestrzeni RGB, ale dużo bardziej „ludzki” w obsłudze. Przeglądarki zgodne ze standardami CSS3 i nowszymi w pełni wspierają HSLA, więc spokojnie można go używać w projektach komercyjnych. Dobrą praktyką jest także świadome korzystanie z kanału alpha, np. do półprzezroczystych nakładek, cieni czy tła pod modale, zamiast używania grafik PNG z przezroczystością.

Pytanie 2

Zgodnie z zasadami ACID dotyczącymi transakcji, wymóg izolacji (ang. isolation) wskazuje, że

A. po zrealizowaniu transakcji system baz danych będzie w stanie spójności
B. pod określonymi warunkami dane modyfikowane przez transakcję mogą zostać anulowane
C. jeśli dwie transakcje są wykonywane równolegle, to zazwyczaj nie zauważają wprowadzanych przez siebie zmian
D. gdy wystąpi konflikt z inną transakcją, obie mogą modyfikować te same dane równocześnie
Izolacja, jako jedno z kluczowych wymagań standardu ACID w kontekście transakcji baz danych, oznacza, że transakcje wykonywane współbieżnie nie wpływają na siebie nawzajem w sposób widoczny. Gdy dwie transakcje są uruchamiane jednocześnie, każda z nich operuje na swoim zestawie danych, nie widząc zmian dokonanych przez drugą do momentu zakończenia transakcji. Dzięki temu, nawet w środowisku o dużym natężeniu operacji, możliwe jest zapewnienie spójności danych. Na przykład, w systemie bankowym, jeśli jeden użytkownik wykonuje przelew, a inny jednocześnie sprawdza stan konta, to proces sprawdzania nie powinien ujawniać niepotwierdzonych jeszcze operacji przelewu. W praktyce, mechanizmy takie jak blokady, czasowe znaczniki (timestamps) oraz protokoły kontroli współbieżności (np. MVCC - Multi-Version Concurrency Control) są wykorzystywane do zapewnienia tej izolacji, co jest fundamentalne dla zachowania integralności danych i poprawności operacji w wielu aplikacjach bazodanowych.

Pytanie 3

Który z linków ma prawidłową budowę?

A. <a href='http://adres'> tekst </a>
B. <a href="http://adres"> tekst <a>
C. <a href='mailto:adres'> tekst </a>
D. <a href="mailto:adres"> tekst </a>
Odpowiedzi, które nie spełniają standardów HTML, prowadzą do niepoprawnych wyników. Na przykład, użycie pojedynczych cudzysłowów w atrybucie href, jak w konstrukcji <a href='mailto:adres'> tekst </a>, choć działa w wielu przeglądarkach, nie jest zgodne z zaleceniami HTML5, które preferują podwójne cudzysłowy. Ten błąd może prowadzić do problemów z interpretacją przez parsery HTML, a w ekstremalnych przypadkach może uniemożliwić poprawne wyświetlanie odsyłaczy. Dodatkowo, ostatnia odpowiedź <a href="http://adres"> tekst <a> jest błędna, ponieważ nie zamyka znacznika <a>, co skutkuje usunięciem semantycznego znaczenia linku i może prowadzić do problemów z dostępnością oraz indeksowaniem przez wyszukiwarki. Tego typu błędy są często wynikiem niedbałości lub braku zrozumienia podstaw HTML. Poprawna konstrukcja odsyłaczy jest kluczowa w budowaniu dostępnych stron internetowych, które są łatwe do nawigacji i interpretacji przez różne urządzenia i technologie asystujące. Przykłady błędów w HTML mogą również prowadzić do frustracji użytkowników, którzy mogą mieć problemy z interakcją z witryną, co w efekcie wpływa na ich postrzeganie jakości i profesjonalizmu danej strony.

Pytanie 4

Kod w języku PHP przedstawia się następująco (patrz ramka): Zakładając, że zmienne a, b, c mają wartości numeryczne, wynik warunku będzie skutkował wypisaniem liczby:

if ($a > $b && $a > $c)
    echo $a;
else if ($b > $c)
    echo $b;
else
    echo $c;
A. najmniejszej.
B. największej.
C. parzystej.
D. nieparzystej.
Analizując niepoprawne odpowiedzi należy zwrócić uwagę na istotę działania warunków w kodzie PHP. Odpowiedź że wynik to najmniejsza liczba wynika z nieprawidłowego zrozumienia logiki porównań. Kod przede wszystkim analizuje która z trzech zmiennych jest największa poprzez sekwencyjne porównania. Wybór najmniejszej liczby wymagałby zupełnie innej konstrukcji polegającej na odwrotnym rozumowaniu co jest istotne w praktyce programowania przy rozwiązywaniu innych problemów algorytmicznych. Odpowiedzi dotyczące liczb parzystych i nieparzystych są błędne ponieważ nie istnieje w kodzie żadna logika sprawdzająca parzystość wartości. Aby sprawdzić parzystość zastosowalibyśmy operator modulo który umożliwia określenie reszty z dzielenia przez dwa. Typowy błąd myślowy to zakładanie że porównania liczb automatycznie uwzględniają ich właściwości arytmetyczne co jest nieprawdą. Warto zauważyć że dobra praktyka programistyczna wymaga precyzyjnego określenia co dokładnie ma być osiągnięte przez warunki w kodzie co podkreśla znaczenie zarówno analizy wymagań jak i implementacji rozwiązań.

Pytanie 5

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. UPDATE artykuly SET nowy = TRUE;
B. INSERT INTO artykuly VALUE nowy = TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. UPDATE nowy FROM artykuly VALUE TRUE;
Poprawna kwerenda UPDATE artykuly SET nowy = TRUE; jest klasycznym przykładem instrukcji aktualizacji danych w SQL. Słowo kluczowe UPDATE wskazuje, że modyfikujemy istniejące rekordy, a nie dodajemy nowe. Nazwa tabeli artykuly określa, w której tabeli wykonujemy operację. Następnie część SET nowy = TRUE ustawia dla kolumny nowy wartość logiczną TRUE we wszystkich wierszach, ponieważ w zapytaniu nie ma klauzuli WHERE. I to jest tu kluczowe: brak WHERE oznacza, że aktualizacja dotknie każdego rekordu w tabeli. Moim zdaniem warto zapamiętać schemat: UPDATE nazwa_tabeli SET kolumna = wartość WHERE warunek;. W praktyce bardzo często dodaje się WHERE, np.: UPDATE artykuly SET nowy = TRUE WHERE data_dodania >= '2026-01-01'; – wtedy oznaczamy jako nowe tylko artykuły dodane od konkretnej daty. W zadaniu jednak wyraźnie jest mowa o każdym rekordzie, więc brak WHERE jest jak najbardziej zgodny z treścią. W większości systemów bazodanowych (MySQL, PostgreSQL, SQL Server, MariaDB) ta składnia jest standardowa i zalecana. Dobra praktyka jest taka, żeby przed odpaleniem UPDATE bez WHERE najpierw zrobić SELECT * FROM artykuly; albo SELECT COUNT(*) FROM artykuly;, żeby mieć świadomość, ile rekordów zmienimy. W projektach produkcyjnych często dodaje się też transakcje, np. w PostgreSQL: BEGIN; UPDATE artykuly SET nowy = TRUE; COMMIT; dzięki temu w razie pomyłki można zrobić ROLLBACK. Warto też wiedzieć, że kolumna typu logicznego może przyjmować wartości TRUE, FALSE, czasem 1/0 (np. w MySQL), ale forma z TRUE/FALSE jest czytelniejsza i bardziej zgodna z semantyką. W wielu aplikacjach webowych pole w stylu nowy służy np. do filtrowania artykułów w panelu administracyjnym albo na stronie głównej: SELECT * FROM artykuly WHERE nowy = TRUE;. To dokładnie ten sam atrybut, który przed chwilą masowo ustawiliśmy poleceniem UPDATE.

Pytanie 6

W tabeli pracownicy utworzono klucz główny typu INTEGER z atrybutami NOT NULL oraz AUTO-INCREMENT. Dodatkowo zdefiniowano pola imie oraz nazwisko. W przypadku użycia przedstawionej w ramce kwerendy SQL wprowadzającej dane, gdzie pominięto pole klucza, w bazie danych MySQL dojdzie do

Ilustracja do pytania
A. zignorowania polecenia, tabela nie ulegnie zmianie
B. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
C. błędu związane z nieprawidłową liczbą pól
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
Często spotykanym błędem przy korzystaniu z baz danych jest nieprawidłowe zrozumienie działania kluczy głównych, szczególnie gdy zastosowany jest atrybut AUTO-INCREMENT. W przypadku kwestionowanego pytania niektórzy mogą błędnie sądzić, że pominięcie pola klucza głównego podczas wstawiania rekordu spowoduje błąd nieprawidłowej liczby pól lub że tabela pozostanie bez zmian. W rzeczywistości, MySQL z atrybutem AUTO-INCREMENT automatycznie przypisuje kolejną dostępną wartość do klucza głównego, co zapobiega takim problemom. Niektórzy mogą myśleć, że w wyniku niepełnego zapytania pole klucza otrzyma wartość NULL, jednak dzięki atrybutowi NOT NULL, który jest zazwyczaj powiązany z kluczem głównym, taka sytuacja również nie wystąpi. Klucz główny ma za zadanie zapewniać unikalność rekordów, a wartość NULL przeczyłaby tej zasadzie. Dlatego zrozumienie tych mechanizmów jest kluczowe dla efektywnego zarządzania danymi w relacyjnych bazach danych. Warto także pamiętać, że mechanizm AUTO-INCREMENT jest szeroko stosowany jako standardowa praktyka pozwalająca na automatyczne i bezpieczne zarządzanie unikalnymi identyfikatorami w bazach danych, co jest niezastąpione w wielu realnych aplikacjach i systemach IT. Takie podejście minimalizuje manualne błędy i wspiera integralność danych, co jest kluczowym aspektem pracy z systemami zarządzania bazami danych.

Pytanie 7

W języku PHP zmienna o nazwie $_SESSION przechowuje

A. listę aktywnych sesji na serwerze WWW
B. zmienne przesyłane do skryptu za pośrednictwem ciasteczek (cookie)
C. zmienne zarejestrowane w aktualnej sesji
D. zmienne przesyłane do skryptu poprzez formularze
Zmienna predefiniowana $_SESSION w PHP jest kluczowym elementem zarządzania sesjami, który umożliwia przechowywanie danych użytkownika w trakcie jego wizyty na stronie internetowej. Sesja jest identyfikowana przez unikalny identyfikator, który jest zazwyczaj przechowywany w ciasteczku na komputerze użytkownika, co pozwala na zachowanie stanu między różnymi żądaniami HTTP. Przechowywane w $_SESSION zmienne są dostępne na wszystkich stronach związanych z daną sesją, co sprawia, że jest to niezwykle przydatne w przypadku aplikacji wymagających autoryzacji lub personalizacji treści. Przykładem może być strona logowania, gdzie po wprowadzeniu poprawnych danych użytkownika, zmienne takie jak 'username' czy 'user_id' mogą zostać zapisane w $_SESSION, co umożliwia późniejsze wykorzystanie tych danych do wyświetlania spersonalizowanych informacji. PHP automatycznie rozpoczyna sesję po wywołaniu funkcji session_start(), co oznacza, że wszystkie zmienne zarejestrowane w $_SESSION będą dostępne do odczytu i zapisu podczas całej aktywności użytkownika na stronie. Warto również zaznaczyć, że dane w $_SESSION są przechowywane po stronie serwera, co czyni je bardziej bezpiecznymi w porównaniu do danych przechowywanych w ciasteczkach.

Pytanie 8

Warunek zapisany w JavaScript będzie prawdziwy, gdy zmienna x posiada

Ilustracja do pytania
A. dowolną dodatnią wartość liczbową
B. wartość, która nie jest liczbą
C. pusty ciąg znaków
D. dowolną całkowitą wartość liczbową
W JavaScript funkcja isNaN() jest kluczowa w sprawdzaniu, czy wartość jest liczbą. Pusty napis, mimo że nie wygląda jak liczba, w kontekście JavaScript, zostanie przekonwertowany na zero, co czyni go liczbą, ale nie dodatnią. Dlatego pusty napis nie spełnia kryterium x > 0. Zasada konwersji typów w JavaScript często prowadzi do błędów logicznych, jeśli nie jest dobrze znana. Wartość nieliczbowa, jak na przykład ciąg znaków, zwróci true dla isNaN(), co oznacza, że negacja tego wyrażenia wprowadzi błąd logiczny w tym warunku. Takie nieporozumienia są powszechne i wynikają z niepełnego zrozumienia, jak JavaScript radzi sobie z niejawnie typowanymi danymi. Z kolei dowolna całkowita wartość liczbowa obejmuje zarówno liczby dodatnie, jak i ujemne oraz zero. Tylko liczby dodatnie spełniają drugi warunek x > 0. Typowym błędem jest założenie, że każdy rodzaj liczby całkowitej spełnia kryteria warunku, co nie jest prawdą w tym przypadku. Poprawne rozumienie powyższych zasad i mechanizmów typów w JavaScript jest niezbędne do unikania błędów logicznych i optymalizacji działania kodu. Kluczowe jest zastosowanie dobrych praktyk programistycznych, takich jak walidacja danych i przemyślane struktury warunkowe, które wspierają precyzyjne i skuteczne działanie aplikacji.

Pytanie 9

Czym jest relacja w bazach danych?

A. kluczem podstawowym w relacji tabel
B. logicznym powiązaniem tabel
C. algebraicznym powiązaniem tabel
D. połączeniem dwóch pól jednej tabeli
Relacje w bazach danych to coś w rodzaju logicznego połączenia tabel. Dzięki nim możemy łączyć dane z różnych miejsc w sposób, który pozwala na bardziej zaawansowane zapytania. Na przykład, w bazie danych do zarządzania zamówieniami, mamy tabelę 'Klienci' i tabelę 'Zamówienia'. I wiesz co? Relacja między nimi często opiera się na identyfikatorze klienta, który działa jak klucz główny w 'Klienci', a jednocześnie jest kluczem obcym w 'Zamówienia'. To ułatwia życie, bo w ten sposób szybko możemy znaleźć wszystkie zamówienia danego klienta. W praktyce, tworzenie relacyjnych baz danych wiąże się też z takimi zasadami jak normalizacja, która pomaga unikać powtarzania danych i dba o ich integralność. Więc tak, zrozumienie relacji w bazach danych to podstawa, jeśli chcemy tworzyć fajne i działające systemy.

Pytanie 10

Obiekt bazy danych, którego głównym przeznaczeniem jest drukowanie lub wyświetlanie zestawień danych, to

A. makro.
B. moduł.
C. raport.
D. formularz.
Poprawna odpowiedź to „raport”, bo właśnie ten obiekt bazy danych jest przeznaczony typowo do estetycznego drukowania lub wyświetlania gotowych zestawień danych. W typowych systemach bazodanowych, takich jak Microsoft Access czy różne narzędzia klasy RAD, formularze służą głównie do wprowadzania i edycji danych, kwerendy do ich wyszukiwania i filtrowania, a raporty do prezentacji wyników w uporządkowanej, czytelnej formie. Raport ma własny projekt układu: nagłówki, stopki, grupowanie po polach (np. po kliencie, dacie, dziale), sumy częściowe i końcowe, numerację stron, a często także pola obliczeniowe. To jest dokładnie to, czego potrzebujemy, gdy chcemy przygotować np. wydruk faktur, miesięczne zestawienie sprzedaży, raport obecności pracowników albo raport kasowy do działu księgowości. Z mojego doświadczenia raport traktuje się jako końcowy produkt pracy z danymi – użytkownika końcowego zwykle nie interesują tabele czy relacje, tylko czy dostanie przejrzysty wydruk lub PDF, który można wysłać dalej. Dobre praktyki mówią, żeby w raportach nie upychać logiki biznesowej ani skomplikowanych obliczeń, tylko oprzeć je na dobrze przygotowanych kwerendach. Raport powinien być możliwie prosty, czytelny i stabilny – tak, żeby zmiana sposobu liczenia odbywała się w warstwie zapytań, a nie w każdym raporcie osobno. W narzędziach BI (np. Power BI, Tableau, ale też klasyczne Crystal Reports) idea jest podobna: raport to warstwa prezentacji, która korzysta z danych z bazy, modelu analitycznego albo widoków SQL. W praktyce w firmach raporty są podstawą podejmowania decyzji, więc poprawne zrozumienie ich roli w bazie danych jest naprawdę kluczowe.

Pytanie 11

Do naprawy i optymalizacji bazy danych w MySQL stosuje się polecenie:

A. mysqlcheck
B. mysqladmin
C. mysqldump
D. mysqlslap
Poprawnie wskazujesz mysqlcheck – to właśnie to narzędzie w świecie MySQL służy do sprawdzania, naprawy i optymalizacji tabel oraz całych baz danych. mysqlcheck działa na poziomie serwera MySQL i pozwala wykonywać operacje typu CHECK TABLE, REPAIR TABLE, ANALYZE TABLE i OPTIMIZE TABLE bez konieczności ręcznego wpisywania tych poleceń SQL dla każdej tabeli z osobna. W praktyce administrator lub programista uruchamia mysqlcheck z linii poleceń, podając nazwę bazy lub używając opcji pozwalających przejść po wszystkich bazach, i narzędzie automatycznie sprawdza struktury danych, indeksy oraz próbuje naprawić drobne uszkodzenia. Z mojego doświadczenia jest to jedno z podstawowych narzędzi do bieżącego utrzymania MySQL, szczególnie przy tabelach MyISAM, ale bywa też używane przy InnoDB (głównie do analizowania i optymalizowania). Dobrą praktyką jest okresowe uruchamianie mysqlcheck na środowiskach produkcyjnych poza godzinami szczytu, aby wykryć ewentualne problemy z tabelami, zreorganizować indeksy i poprawić wydajność zapytań. Można je też zintegrować ze skryptami cron, żeby automatycznie raz na jakiś czas robić check/optimize. Ważne jest też używanie odpowiednich opcji, np. --auto-repair, --optimize lub --all-databases, żeby dokładnie sterować tym, co ma być zrobione. W odróżnieniu od narzędzi backupowych mysqlcheck nie służy do kopiowania danych, tylko do utrzymania ich spójności i efektywnej pracy silnika bazodanowego. Takie podejście jest zgodne z dobrymi praktykami administracji bazami danych, gdzie rozdziela się zadania: osobno narzędzia do kopii zapasowych, osobno do testów wydajności, a osobno do napraw i optymalizacji struktur.

Pytanie 12

Jakie zadania programistyczne mogą być realizowane wyłącznie po stronie klienta w przeglądarce?

A. Weryfikacja danych wprowadzanych do pola tekstowego w czasie rzeczywistym
B. Weryfikacja hasła użytkownika w bazie danych powiązanej z aplikacją internetową
C. Zapis danych z formularza w bazie danych związanej z aplikacją internetową
D. Bezpieczne wyświetlenie spersonalizowanej treści strony na podstawie uprawnień użytkownika aplikacji
Sprawdzanie danych wpisywanych do pola tekstowego w czasie rzeczywistym jest zadaniem, które można wykonać wyłącznie po stronie klienta, korzystając z technologii takich jak JavaScript. Przykładem może być walidacja formularzy, gdzie użytkownik otrzymuje natychmiastową informację zwrotną na temat poprawności danych, zanim jeszcze wyśle formularz. Dzięki temu można zredukować ilość błędów i poprawić doświadczenia użytkownika. Zastosowanie tego typu walidacji jest zgodne z dobrymi praktykami, ponieważ pozwala na szybszą interakcję bez konieczności komunikacji z serwerem, co z kolei zmniejsza obciążenie serwera i przyspiesza czas ładowania strony. Warto również zwrócić uwagę na standardy dostępności, aby zapewnić, że walidacja jest wykonalna także dla osób używających technologii asystujących. Dobrze zaprojektowane formularze z walidacją po stronie klienta są bardziej przyjazne i funkcjonalne, co przekłada się na wyższe wskaźniki konwersji w aplikacjach internetowych.

Pytanie 13

W celu przeniesienia strony internetowej na serwer, można wykorzystać program

A. Go!Zilla
B. CloneZilla
C. FileZilla
D. Bugzilla
FileZilla to oprogramowanie typu FTP (File Transfer Protocol), które jest powszechnie używane do przesyłania plików pomiędzy lokalnym komputerem a serwerem. Jest to narzędzie open-source, które obsługuje zarówno FTP, jak i SFTP (SSH File Transfer Protocol), co czyni je wszechstronnym rozwiązaniem dla transferu plików w bezpieczny sposób. Dzięki intuicyjnemu interfejsowi użytkownika, który przypomina popularne menedżery plików, użytkownicy mogą łatwo przeglądać lokalne i zdalne systemy plików, co znacznie ułatwia transfer danych. Przykładem zastosowania może być sytuacja, w której deweloper webowy musi przesłać pliki witryny internetowej do nowego serwera. W takim przypadku FileZilla pozwala na szybki i efektywny transfer z minimalnym ryzykiem błędów. Ponadto, FileZilla wspiera różne protokoły uwierzytelniania, co zwiększa bezpieczeństwo przesyłanych plików. Używanie FileZilla jest zgodne z najlepszymi praktykami branżowymi, ponieważ narzędzie to jest regularnie aktualizowane i wspiera standardy bezpieczeństwa, co czyni je niezawodnym wyborem dla profesjonalnych administratorów systemów.

Pytanie 14

Fragment kodu w języku PHP przedstawia się następująco (patrz ramka): W wyniku wykonania pętli zostaną wyświetlone liczby

Ilustracja do pytania
A. 0, 4, 8, 12, 16, 20
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20
C. 0, 4, 8, 12, 16
D. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
W przypadku Twojej odpowiedzi widać, że pętla for może być czasem myląca. Jeśli dobrze nie rozumiemy jej działania, możemy dojść do błędnych wniosków co do tego, które liczby się pojawią. W PHP składnia pętli pozwala ustalić początek, warunki kontynuacji i zmiany wartości. Warto pamiętać, że warunek $i <= 20 oznacza, że pętla kończy działanie, kiedy $i przekroczy 20, ale dopóki $i jest równe 20 lub mniej, to pętla działa. Więc odpowiedzi, które ignorują 20, są błędne. Dodatkowo, jeśli przyrastamy $i o 4, to pomijamy liczby, które nie są wielokrotnościami 4. Często myślimy, że pętla wypisze wszystkie liczby od 0 do 19, a to nieprawda, bo nie zawsze inkrementujemy o 1, jak w wielu prostszych przypadkach. Żeby uniknąć takich błędów, warto dokładnie przyjrzeć się składni pętli for i zrozumieć, jak działa każdy jej element. To naprawdę pomaga w pisaniu poprawnego kodu.

Pytanie 15

Aby grupować sekcje na poziomie bloków, które będą stilizowane za pomocą znaczników, jakiego należy użyć?

A. <div>
B. <param>
C. <span>
D. <p>
Znak <div> jest jednym z podstawowych elementów HTML, który służy do grupowania i organizowania zawartości w dokumentach HTML. Umożliwia on stosowanie stylów CSS oraz skryptów JavaScript na grupach elementów, co czyni go niezwykle użytecznym w budowie responsywnych i złożonych układów stron. W przeciwieństwie do znaku <p>, który zarezerwowany jest dla akapitów tekstu, lub <span>, który jest używany do izolowania niewielkich fragmentów tekstu w ramach większego kontekstu, <div> działa jako kontener wypełniający swoje otoczenie. Ponadto, <div> jest znacznikiem blokowym, co oznacza, że zajmuje całą szerokość dostępnego miejsca w swoim rodzicu, co jest kluczowe w projektowaniu układów. W praktyce może być używany do tworzenia sekcji strony, nagłówków, stopki czy artykułów, co pozwala na lepszą organizację kodu i stylów. W kontekście standardów, <div> jest częścią W3C HTML5, co zapewnia jego szeroką akceptację i zgodność z przeglądarkami. Użycie <div> do grupowania obszarów na poziomie bloków jest zatem najlepszą praktyką w nowoczesnym web designie.

Pytanie 16

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. serwera WWW z interpreterem PHP
B. serwera WWW, parsera PHP oraz bazy danych MySQL
C. przeglądarki internetowej
D. serwera WWW z bazą danych MySQL
Aby wykonać kod zapisany w języku PHP, konieczne jest posiadanie serwera WWW z zainstalowanym interpreterem PHP. PHP (Hypertext Preprocessor) jest językiem skryptowym, który działa po stronie serwera, co oznacza, że kod PHP jest przetwarzany na serwerze zanim zostanie wysłany do przeglądarki użytkownika. Serwer WWW, taki jak Apache lub Nginx, musi być skonfigurowany do obsługi PHP, co zazwyczaj wymaga zainstalowania odpowiedniego modułu lub interpreter PHP. Przykładowo, w systemach Linux, PHP można zainstalować za pomocą menedżera pakietów, co umożliwia łatwe uruchamianie skryptów PHP. W przypadku prostych aplikacji webowych wystarczy zainstalować serwer WWW oraz PHP, aby rozpocząć pracę. Ważne jest również, aby pamiętać o różnicy między PHP a innymi językami, takimi jak JavaScript, który działa po stronie klienta. Standardy, takie jak PHP-FIG, określają, jak powinny być pisane i organizowane aplikacje w PHP, co ułatwia ich późniejsze rozwijanie i utrzymanie.

Pytanie 17

System baz danych gromadzi multimedia, co wiąże się z przechowywaniem znacznych ilości danych binarnych. Jakiego typu danych należy użyć w tym przypadku?

A. ENUM
B. BLOB
C. DOUBLE
D. LONGTEXT
Typ BLOB (Binary Large Object) służy do przechowywania dużych ilości danych binarnych, takich jak obrazy, dźwięki, filmy czy inne multimedia. BLOBy są niezwykle przydatne w aplikacjach, które wymagają zarządzania danymi o dużych rozmiarach, ponieważ pozwalają na efektywne przechowywanie i manipulowanie tymi danymi w bazie danych. Przykładem zastosowania BLOBów może być system zarządzania treścią (CMS), w którym użytkownicy mogą przesyłać zdjęcia i filmy. BLOBy umożliwiają przechowywanie tych plików w bazie, co ułatwia ich późniejsze pobieranie i wyświetlanie. W praktyce, stosując BLOBy, należy pamiętać o odpowiednich indeksach oraz optymalizacji zapytań, aby zminimalizować czas dostępu do danych. Warto również rozważyć zastosowanie systemów zarządzania bazami danych, które są dostosowane do pracy z danymi multimedialnymi, takich jak PostgreSQL czy MySQL, które obsługują typy BLOB i inne odpowiednie struktury danych. Standardy SQL definiują BLOB jako typ danych, co sprawia, że jego użycie jest zgodne z najlepszymi praktykami programowania baz danych.

Pytanie 18

Zakładając, że żadne style CSS nie zostały zdefiniowane, przedstawiony efekt zostanie uzyskany przy pomocy

Tytuł
    Znaczniki języka HTML
Autor
    Ewa Konieczna
Słowa kluczowe
    witryny internetowe, HTML

Kod 1.
<ul>
  <li>Tytuł</li>
  <li>Znaczniki języka HTML</li>
  <li>Autor</li>
  <li>Ewa Konieczna</li>
  <li>Słowa kluczowe</li>
  <li>witryny internetowe, HTML</li>
</ul>

Kod 2.
<dl>
  <dt>Tytuł</dt>
  <dd>Znaczniki języka HTML</dd>
  <dt>Autor</dt>
  <dd>Ewa Konieczna</dd>
  <dt>Słowa kluczowe</dt>
  <dd>witryny internetowe, HTML</dd>
</dl>

Kod 3.
<ol>
  <li>Tytuł</li>
  <dl>Znaczniki języka HTML</dl>
  <li>Autor</li>
  <dl>Ewa Konieczna</dl>
  <li>Słowa kluczowe</li>
  <dl>witryny internetowe, HTML</dl>
</ol>

Kod 4.
<table>
  <tr>Tytuł</tr>
  <td>Znaczniki języka HTML</td>
  <tr>Autor</tr>
  <td>Ewa Konieczna</td>
  <tr>Słowa kluczowe</tr>
  <td>witryny internetowe, HTML</td>
</table>
A. Kodu 2.
B. Kodu 1.
C. Kodu 4.
D. Kodu 3.
Gratulacje, Twoja odpowiedź jest poprawna. Wybrałeś 'Kod 2', który jest kodem HTML definiującym tabelę. To jest prawidłowe, ponieważ układ prezentowany na zdjęciu sugeruje użycie tabeli do wyświetlenia informacji. W HTML, tabele są definiowane za pomocą znacznika <table>, a wiersze i komórki za pomocą <tr> i <td> odpowiednio. W tym przypadku, każdy wiersz to osobny element tabeli - 'Tytuł', 'Znaczniki języka HTML', 'Autor', 'Słowa kluczowe' oraz 'Witryny internetowe, HTML' - i są one rozmieszczone w sposób sugerujący użycie tabeli. Jest to standardowy sposób na prezentowanie zestawów danych, które mają związek ze sobą. Dzięki temu, informacje są łatwiejsze do zrozumienia i analizy. Pamiętaj jednak, że tabele powinny być używane głównie do prezentacji danych, a nie do układu strony - do tego celu lepiej nadają się inne metody, takie jak Flexbox czy CSS Grid.

Pytanie 19

Plik konfiguracyjny, który umożliwia ustalenie parametrów PHP dla całego serwera, to

A. httpd.conf
B. config.inc.php
C. my.ini
D. php.ini
W kontekście plików konfiguracyjnych, my.ini nie jest odpowiednim wyborem dla konfiguracji PHP. Jest to plik konfiguracyjny używany głównie w systemach MySQL, gdzie definiuje ustawienia dotyczące serwera baz danych, takie jak kolejki zapytań, rozmiar pamięci czy konfiguracje replikacji. Z tego powodu nie ma związku z konfiguracją PHP, co czyni tę odpowiedź niepoprawną. Kolejnym niepoprawnym wyborem jest httpd.conf, który jest plikiem konfiguracyjnym dla serwera Apache. To on zarządza ustawieniami serwera HTTP, definiuje wirtualne hosty, reguły dotyczące przekierowań i wiele innych aspektów związanych z działaniem serwera WWW. Podobnie jak my.ini, httpd.conf nie ma zastosowania w kontekście ustawień PHP, co sprawia, że nie może być uznany za właściwą odpowiedź. Ostatnią niepoprawną opcją jest config.inc.php, który jest typowo używany w kontekście specyficznych aplikacji PHP, takich jak systemy zarządzania treścią czy frameworki. Plik ten zazwyczaj zawiera ustawienia konfiguracyjne dla konkretnej aplikacji, a nie dla całego środowiska PHP, co czyni go nieadekwatnym w niniejszym kontekście.

Pytanie 20

Aby ustawić marginesy wewnętrzne dla elementu, gdzie margines górny wynosi 50px, dolny 40px, prawy 20px oraz lewy 30px, należy zastosować składnię CSS

A. style="margin-bottom: 0cm;"> padding: 50px, 40px, 20px, 30px;
B. padding: 20px, 40px, 30px, 50px;
C. padding: 40px, 30px, 50px, 20px;
D. style="margin-bottom: 0cm;"> padding: 50px, 20px, 40px, 30px;
W odpowiedziach, które nie są poprawne, występuje nieporozumienie w zakresie różnicy między 'padding' a 'margin'. Właściwość 'padding' odnosi się do przestrzeni wewnętrznej elementu, natomiast 'margin' dotyczy przestrzeni zewnętrznej, która oddziela element od sąsiadów. Niezrozumienie tych dwóch pojęć prowadzi do błędnego przypisania wartości do niewłaściwej właściwości. Na przykład, pierwsza z zaproponowanych odpowiedzi mylnie stosuje 'padding' w kontekście marginesów, co jest technicznie niepoprawne. Kolejny błąd wynika z nieodpowiedniej kolejności wartości, co może prowadzić do niezamierzonego efektu w układzie strony. Warto zwrócić uwagę, że standardy CSS wymagają ścisłego przestrzegania kolejności i formatu, aby zapewnić prawidłowe renderowanie w różnych przeglądarkach. Ponadto, brak zrozumienia znaczenia jednostek w CSS oraz ich wpływu na elastyczność układu strony może skutkować nieadekwatnym wyświetlaniem treści na różnych urządzeniach. Typowe błędy myślowe, które pojawiają się w takich sytuacjach, to przekonanie, że różne jednostki są wymienne, czy też że kolejność wartości w 'padding' nie ma znaczenia. W rzeczywistości, poprawne użycie CSS opiera się na znajomości jego specyfikacji oraz praktycznych zasad, które pomagają w tworzeniu spójnych i responsywnych stron internetowych.

Pytanie 21

W SQL po wykonaniu zapytania ALTER TABLE osoba DROP COLUMN grupa; co się stanie?

A. nazwa tabeli zmieni się na grupa
B. kolumna grupa zostanie dodana
C. kolumna grupa zostanie usunięta
D. nazwa kolumny zmieni się na grupa
No więc dobrze trafiłeś. To zapytanie SQL ALTER TABLE osoba DROP COLUMN grupa; jest używane do usunięcia kolumny 'grupa' z tabeli 'osoba'. To polecenie jest częścią SQL, który służy do zmieniania struktury tabel. Usunięcie kolumny może być fajne, gdy już nie jest potrzebna, albo jeśli wprowadzasz jakieś zmiany w danych. Na przykład, może się zdarzyć, że kolumna 'grupa' ma dane, które są już nieaktualne, bo zmieniłeś sposób klasyfikacji. A tak w ogóle, dobrze jest przed taką operacją zrobić kopię zapasową danych, bo usunięcie kolumny to trwała zmiana. To podejście jest powszechnie wykorzystywane w zarządzaniu bazami danych oraz w procesach ETL, gdzie ważne jest, by dane były dobrze zorganizowane.

Pytanie 22

W języku HTML, aby uzyskać efekt taki jak na przykładzie, należy zastosować konstrukcję

Duży tekst zwykły tekst

A. <p><big>Duży tekst</p> zwykły tekst
B. <p><big>Duży tekst</big> zwykły tekst</p>
C. <p><strike>Duży tekst</strike> zwykły tekst</p>
D. <p><strike>Duży tekst zwykły tekst</p>
Pierwsza z niepoprawnych odpowiedzi wykorzystuje znacznik <big> w kontekście niewłaściwego zamknięcia. Brak zamknięcia tagu <big> czyni tę konstrukcję błędną. Semantycznie, HTML wymaga, aby wszystkie znaczniki były odpowiednio otwarte i zamknięte dla prawidłowego renderowania. Kolejna odpowiedź stosuje znacznik <strike>, który jest przeznaczony do oznaczania tekstu, który był kiedyś aktualny, ale nie jest już taki. Użycie <strike> w tym kontekście jest nieodpowiednie, ponieważ celem jest zwiększenie widoczności tekstu, a nie jego skreślenie. Ostatnia z odpowiedzi również korzysta z tagu <strike>, co prowadzi do podobnego efektu, gdzie tekst jest skreślony, a nie powiększony. Takie podejście nie tylko wprowadza w błąd czytelników, ale także nie spełnia wymogów dostępności, ponieważ nie przekazuje intencji autora tekstu. Poprawne użycie HTML powinno koncentrować się na semantyce i dostępności, a nie na wizualnych efektach, które są efektywniej osiągane przez CSS.

Pytanie 23

W środowisku PHP pobrano z bazy danych rezultat działania zapytania przy użyciu komendy mysql_query. W celu uzyskania z otrzymanej kwerendy jednego wiersza danych, konieczne jest użycie polecenia

A. mysql_fetch_lengths
B. mysql_fetch_row
C. mysql_list_fields
D. mysql_field_len
Odpowiedź 'mysql_fetch_row' jest prawidłowa, ponieważ to funkcja w PHP, która pobiera jeden wiersz danych jako tablicę numeryczną z wyników zapytania SQL. Jest to kluczowy element do pracy z danymi zwróconymi przez bazę danych, gdyż umożliwia nam iterację przez wyniki zapytania. Przykładowo, po wykonaniu kwerendy za pomocą 'mysql_query', używamy 'mysql_fetch_row', aby uzyskać pierwszy wiersz wyników: $row = mysql_fetch_row($result);. W praktyce, korzystając z tej funkcji, możemy odnosić się do poszczególnych kolumn, używając indeksów, co jest efektywne, zwłaszcza przy pracy z dużymi zbiorami danych. Warto pamiętać, że 'mysql_fetch_row' jest jedną z podstawowych funkcji w pracy z bazami danych w PHP, jednak w najnowszych projektach zaleca się korzystanie z rozszerzenia PDO lub MySQLi, które oferują lepsze zabezpieczenia oraz wsparcie dla obiektowego podejścia programowania. To także zgodne z najlepszymi praktykami w zakresie bezpieczeństwa i wydajności aplikacji webowych.

Pytanie 24

W tabeli pokazano cechy pliku graficznego. Aby rysunek ładował się szybciej na stronie WWW, należy

Wymiary: 4272 x 2848px
Rozdzielczość: 72 dpi
Format: JPG
A. zmienić proporcje szerokości do wysokości
B. zmienić format grafiki na CDR
C. zwiększyć rozdzielczość
D. zmniejszyć wymiary rysunku
Zmniejszenie wymiarów rysunku to kluczowy krok w optymalizacji czasu ładowania grafiki na stronę WWW. Mniejsze wymiary oznaczają mniejszą ilość danych do przesłania, co skraca czas ładowania strony. Praktycznym przykładem jest zmniejszenie wymiarów obrazu z 4272 x 2848 pikseli do bardziej standardowego rozmiaru, jak np. 1920 x 1080 pikseli dla grafik wyświetlanych na ekranach. Zmniejszenie wymiarów nie tylko przyspiesza ładowanie ale także zmniejsza zużycie transferu danych co jest istotne przy ograniczeniach mobilnych. Warto pamiętać że mniejsze grafiki są też mniej zasobożerne dla urządzeń użytkowników co wpływa na ogólną wydajność strony. Zastosowanie odpowiednich wymiarów jest zgodne z dobrymi praktykami optymalizacji webowej rekomendowanymi przez Google PageSpeed Insights i inne narzędzia analityczne. Optymalizacja grafiki poprzez zmniejszenie jej wymiarów jest podstawową czynnością w procesie tworzenia responsywnych i szybko działających witryn internetowych.

Pytanie 25

Wskaż zapytanie, w którym dane zostały uporządkowane.

A. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
B. SELECT DISTINCT produkt, cena FROM artykuly;
C. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
D. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
Odpowiedź SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek jest poprawna, ponieważ zawiera klauzulę ORDER BY, która jest używana do sortowania wyników zapytania w SQL. W tym przypadku, dane są sortowane według wieku mieszkańców, co pozwala na łatwe zrozumienie rozkładu wiekowego w tej grupie. Klauzula ORDER BY jest standardowym elementem SQL, który może sortować wyniki w porządku rosnącym (ASC) lub malejącym (DESC). Przykładowe zastosowanie to raporty, w których użytkownik chce zobaczyć dane uporządkowane według konkretnego kryterium, np. wiek, cena, data. Dobre praktyki sugerują, aby zawsze jasno definiować, które kolumny mają być używane do sortowania, a także zrozumieć, że sortowanie wpływa na wydajność zapytań, zwłaszcza przy dużych zbiorach danych. W przypadku bardziej złożonych zapytań można także łączyć klauzulę ORDER BY z innymi klauzulami, takimi jak GROUP BY, co zwiększa elastyczność w analizie danych.

Pytanie 26

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. tr { background-color: Pink; }
C. td, th { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek. W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony. Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 27

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia

A. Notpead++
B. PhpMyAdmin
C. środowisko IDE
D. debugger
W tym pytaniu kluczowe jest zrozumienie, że chodzi o narzędzie, które w jednym miejscu łączy edycję kodu, kompilację, tworzenie zasobów programu, pracę z bazami danych i komponentami. Taki zestaw funkcji jest dość rozbudowany i nie zapewni go pojedynczy, prosty program. Częsty błąd polega na myleniu pojedynczej funkcji z pełnym środowiskiem programistycznym. Debugger na przykład jest bardzo ważnym narzędziem, ale jego zadanie to analiza działania programu krok po kroku, ustawianie breakpointów, podgląd wartości zmiennych, stosu wywołań. Debugger zwykle jest tylko jednym z modułów wchodzących w skład większego środowiska IDE. Sam z siebie nie służy ani do pisania kodu w wygodny sposób, ani do zarządzania zasobami aplikacji czy bazą danych. Podobnie Notepad++ to rozbudowany edytor tekstu z podświetlaniem składni, wtyczkami, możliwością pracy na wielu plikach. Jednak to nadal tylko edytor, a nie pełne IDE. Nie posiada natywnego systemu kompilacji projektów, zaawansowanego zarządzania projektem, integracji z kompilatorami i budowaniem całych rozwiązań w sposób typowy dla środowisk programistycznych. Oczywiście da się w nim pisać kod, ale cała reszta procesu programowania spada na użytkownika i zewnętrzne narzędzia. PhpMyAdmin z kolei jest narzędziem stricte bazodanowym, webowym interfejsem do zarządzania serwerem MySQL/MariaDB. Umożliwia tworzenie i modyfikowanie tabel, wykonywanie zapytań SQL, eksport i import danych. Nie służy do edycji kodu źródłowego aplikacji ani do kompilacji programów. Czasem pojawia się tu typowe złudzenie: skoro narzędzie ma coś wspólnego z bazami danych albo kodem, to może „załatwia wszystko”. W praktyce każda z tych aplikacji realizuje tylko wycinek funkcjonalności opisanej w pytaniu. Pełny zestaw: edycja, kompilacja, zasoby, bazy i komponenty – to domena środowisk IDE, które integrują wiele narzędzi w jednym spójnym interfejsie, zgodnie z dobrymi praktykami pracy programisty.

Pytanie 28

Przedstawiony styl generuje pojedyncze obramowanie, które posiada następujące właściwości:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź prawa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź lewa w odcieniu zielonym, krawędź górna w kolorze żółtym
B. krawędź lewa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź prawa w odcieniu zielonym, krawędź górna w kolorze żółtym
C. krawędź górna jest koloru czerwonego, krawędź prawa koloru niebieskiego, krawędź dolna koloru zielonego, krawędź lewa koloru żółtego
D. krawędź górna ma kolor czerwony, krawędź lewa w kolorze niebieskim, krawędź dolna w odcieniu zielonym, krawędź prawa w kolorze żółtym
Prawidłowa odpowiedź wynika z użycia właściwości CSS border-color z czterema wartościami przypisanymi kolejno do górnej prawej dolnej i lewej krawędzi elementu. W tym przypadku border-color: red blue green yellow; przypisuje kolor czerwony do górnej krawędzi kolor niebieski do prawej zielony do dolnej i żółty do lewej. Jest to powszechna praktyka w stylizacji stron internetowych gdzie cztery wartości podane dla border-color definiują odpowiednio kolory górnej prawej dolnej i lewej krawędzi. Taki styl umożliwia projektantom tworzenie wizualnie interesujących i wyróżniających się elementów poprzez łatwe manipulowanie kolorami i szerokościami obramowań. Zastosowanie tego w praktyce może być wykorzystane do zaznaczenia ważnych sekcji strony lub wyróżnienia określonych elementów. Tego rodzaju technika stylizacji jest zgodna z dobrymi praktykami i standardami CSS co pozwala na uzyskanie estetycznego i funkcjonalnego interfejsu użytkownika. Wiedza o przypisaniu kolorów do poszczególnych krawędzi jest kluczowa w projektowaniu elastycznych i responsywnych układów stron.

Pytanie 29

Czym w relacyjnej bazie danych jest odpowiednik encji?

A. wiersz
B. kolumna
C. atrybut
D. tabela
Tabela w relacyjnej bazie danych to coś jak podstawowy budulec, który reprezentuje encję, czyli po prostu zestaw danych związanych z jakimś tematem. Każda tabela ma wiersze i kolumny. Wiersze są jak indywidualne rekordy, a kolumny to różne atrybuty, które mówią nam coś o tych rekordach. Weźmy na przykład tabelę 'Klienci' – tam znajdziesz kolumny jak 'ID', 'Imię', 'Nazwisko' i 'Adres'. Dzięki tabelom relacyjne bazy danych są w stanie spełniać normy ACID, czyli zapewniają atomowość, spójność, izolację i trwałość, co jest mega ważne dla integralności danych. Z praktyki wiem, że warto nauczyć się, jak definiować tabele, żeby skutecznie przechowywać i zarządzać danymi, bo to ma duży wpływ na to, jak szybko działają zapytania. Dlatego zrozumienie struktury tabeli i jej roli w bazach danych jest kluczowe dla każdego, kto się tym zajmuje.

Pytanie 30

W języku SQL podczas używania polecenia CREATE TABLE atrybut, który wskazuje na to, która kolumna jest kluczem podstawowym, to

A. IDENTITY FIELD
B. GŁÓWNY KLUCZ
C. PRIMARY KEY
D. UNIQUE
Odpowiedź "PRIMARY KEY" jest prawidłowa, ponieważ w języku SQL klucz podstawowy (ang. primary key) to unikalny identyfikator dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa rekordy nie mają tej samej wartości w kolumnie, co jest kluczowe dla integralności danych. Zwyczajowo klucz podstawowy definiuje się podczas tworzenia tabeli za pomocą polecenia CREATE TABLE, co zwiększa wydajność operacji wyszukiwania oraz modyfikacji danych. Przykład wykorzystania: tworząc tabelę pracowników, można zdefiniować kolumnę "id_pracownika" jako klucz podstawowy, co zapewni, że każdy pracownik będzie miał unikalny identyfikator. W standardach SQL zgodnych z ANSI, klucz podstawowy może składać się z jednej lub więcej kolumn, co pozwala na tworzenie bardziej skomplikowanych struktur danych. Dobrą praktyką jest również oznaczanie klucza podstawowego jako NOT NULL, co uniemożliwia wprowadzenie pustych wartości, co dodatkowo zwiększa integralność bazy danych.

Pytanie 31

W relacyjnym modelu danych, krotki definiuje się jako

A. wiersze tabeli wyłączając wiersz nagłówkowy, w którym znajdują się nazwy kolumn
B. liczbę rekordów w tabeli
C. wszystkie kolumny tabeli, które reprezentują atrybuty obiektu
D. wszystkie wiersze w tabeli łącznie z wierszem nagłówkowym
Krotka to taki ważny element w relacyjnych bazach danych, który odnosi się do konkretnych rekordów w tabeli. Każda krotka to jakby zestaw informacji, który dotyczy jednej jednostki, na przykład pojedynczego użytkownika w tabeli 'Użytkownicy'. Zawiera wartości atrybutów, które są przypisane do kolumn w tabeli. Te wartości są przechowywane w wierszach, a nagłówek z nazwami kolumn nie wchodzi w grę, jeśli chodzi o definicję krotek. Na przykład, w tabeli dotyczącej studentów, każdy wiersz mógłby zawierać dane jednego studenta, takie jak imię, nazwisko, wiek czy kierunek studiów. Myślę, że zrozumienie, czym jest krotka, jest kluczowe, żeby dobrze projektować bazy danych i używać SQL, bo w nim operacje na krotkach to podstawa większości zapytań. W praktyce, krotki pomagają również tworzyć relacje między tabelami w bazie danych, gdzie można je wykorzystać do przedstawiania powiązań między różnymi obiektami, na przykład 'Studenci' i 'Kursy'.

Pytanie 32

Co się stanie po kliknięciu w link z HTML zawierający znak #?

<a href="#dane">
A. Strona przeskoczy do elementu o identyfikatorze równym dane
B. Zostanie uruchomiony skrypt o nazwie dane
C. Otworzy się nowa karta w przeglądarce zatytułowana dane
D. Zostanie wybrany względny adres URL o nazwie dane
W składni HTML znak # w atrybucie href w odsyłaczu oznacza, że odnośnik prowadzi do elementu o określonym identyfikatorze id na tej samej stronie. Jest to funkcjonalność zwana nawigacją wewnętrzną lub kotwiczeniem. Po kliknięciu takiego linku przeglądarka automatycznie przewija stronę do elementu o id równym wartości po znaku #. W praktyce jest to bardzo użyteczny mechanizm, zwłaszcza w długich dokumentach lub stronach typu one-page, gdzie można tworzyć spis treści z odnośnikami prowadzącymi do poszczególnych sekcji. Przykładem użycia może być link do formularza na dole strony, który pozwala użytkownikowi szybko dotrzeć do ważnych informacji. Zgodnie z dobrymi praktykami należy zawsze upewnić się, że id jest unikalne w kontekście całej strony, co zapobiega nieoczekiwanym zachowaniom podczas nawigacji. Jest to zgodne ze standardami W3C, które promują semantyczne i dostępne struktury stron internetowych, co wpływa pozytywnie na doświadczenie użytkownika i dostępność stron dla osób z niepełnosprawnościami.

Pytanie 33

Aby przenieść stronę internetową na serwer, można wykorzystać program

A. CloneZilla
B. Bugzilla
C. Go!Zilla
D. FileFilla
FileFilla to oprogramowanie, które umożliwia przesyłanie plików na serwer oraz zarządzanie nimi w sposób efektywny i przejrzysty. Jest to klient FTP, co oznacza, że wykorzystuje protokół File Transfer Protocol do komunikacji między komputerem użytkownika a serwerem. Dzięki FileFilla, użytkownik ma możliwość przenoszenia plików z lokalnej maszyny na serwer w sposób zorganizowany, co jest kluczowe przy migracji witryn internetowych. Program obsługuje różne protokoły, takie jak SFTP i FTPS, co zapewnia dodatkowe bezpieczeństwo podczas przesyłania danych. Praktycznym przykładem zastosowania FileFilla może być sytuacja, w której twórca strony internetowej aktualizuje treść na serwerze, przesyłając nowe pliki lub foldery. Zastosowanie tego oprogramowania pozwala nie tylko na szybkie przenoszenie plików, ale także na monitorowanie postępu transferu oraz zarządzanie plikami na serwerze, co czyni go nieocenionym narzędziem dla administratorów stron. Warto również wspomnieć, że FileFilla jest zgodna z wieloma standardami, co sprawia, że jest uniwersalnym rozwiązaniem w świecie technologii webowej.

Pytanie 34

Który z linków ma poprawną formę?

A. <a href="http://adres">tekst</a>
B. <a href='mailto:adres'>tekst</a>
C. <a href="mailto:adres">tekst</a>
D. <a href='http://:adres'>tekst</a>
Pierwsza z niepoprawnych odpowiedzi wykorzystuje pojedyncze cudzysłowy w atrybucie 'href' oraz niepoprawny format adresu e-mail. Chociaż pojedyncze cudzysłowy są dozwolone, w kontekście standardów HTML zaleca się stosowanie podwójnych cudzysłowów. Druga odpowiedź przedstawia nieprawidłowy format adresu URL z dodatkowym dwukropkiem po 'http://', co czyni go niekompletnym i niezgodnym z zasadami tworzenia linków w HTML. Taki błąd uniemożliwia prawidłowe załadowanie strony internetowej oraz może prowadzić do niepoprawnego działania linków. Trzecia odpowiedź używa nietypowych cudzysłowów (\"\" zamiast standardowych podwójnych cudzysłowów), co nie jest zgodne z konwencjami kodowania w HTML i może prowadzić do problemów z interpretacją przez przeglądarki. Użycie odpowiednich cudzysłowów jest kluczowe dla prawidłowego działania kodu HTML i zapobiega potencjalnym błędom w renderowaniu strony. Wszelkie niezgodności z przyjętymi standardami mogą negatywnie wpłynąć na jakość i funkcjonalność strony internetowej, co ma znaczenie również z perspektywy SEO.

Pytanie 35

Jaki format CSS dla akapitu definiuje styl szarej ramki z następującymi cechami?

p {
  padding: 15px;
  border: 2px dotted gray; }
A. linia kropkowa; grubość 2 px; marginesy między tekstem a ramką 15 px
B. linia kreskowa; grubość 2 px; marginesy poza ramką 15 px
C. linia ciągła; grubość 2 px; marginesy między tekstem a ramką 15 px
D. linia ciągła; grubość 2 px; marginesy poza ramką 15 px
Odpowiedź numer jeden jest poprawna, ponieważ prawidłowo opisuje stylizację akapitu przy użyciu CSS zgodnie z przedstawionym kodem. Właściwość 'border' definiuje styl obramowania elementu. W tym przypadku użyto stylu 'dotted', który oznacza linię kropkowaną, o grubości 2 pikseli i kolorze szarym. Jest to użyteczne w sytuacjach, gdy chcemy wizualnie wyróżnić element, ale w sposób subtelny i nienachalny. Dodatkowo, właściwość 'padding' określa margines wewnętrzny, czyli odstęp między zawartością elementu a jego krawędzią. Zapewnienie marginesu wewnętrznego 15 pikseli pozwala tekstowi oddalić się od krawędzi obramowania, co zwiększa czytelność i estetykę. Praktyczne zastosowanie takich stylizacji można znaleźć w projektowaniu stron internetowych, gdzie często używa się różnych stylów obramowań do organizowania treści. Zgodność z dobrymi praktykami web designu zakłada użycie spójnych i intuicyjnych stylów, co poprawia doświadczenia użytkownika oraz ułatwia nawigację po stronie internetowej. Tego typu formatowanie jest zgodne ze standardami CSS, co czyni kod bardziej przewidywalnym i łatwiejszym w utrzymaniu

Pytanie 36

W relacyjnych bazach danych encja jest przedstawiana przez

A. rekord.
B. relację.
C. tabelę.
D. kwerendę.
W relacyjnych bazach danych encja jest reprezentowana przez tabelę, co jest zgodne z fundamentalnymi zasadami modelu relacyjnego, zaproponowanego przez Edgara F. Codda. Tabela składa się z wierszy (rekordów) oraz kolumn (atrybutów), gdzie każdy wiersz odpowiada jednej instancji encji, a kolumny definiują jej cechy. Na przykład, tabela "Klienci" może zawierać kolumny takie jak "ID", "Imię", "Nazwisko" i "Email", gdzie każdy wiersz reprezentuje konkretnego klienta. Zastosowanie tabel jako reprezentacji encji pozwala na łatwe tworzenie relacji między danymi, co jest kluczowe w relacyjnych bazach danych. Przykłady takie jak użycie kluczy obcych do łączenia tabel świadczą o praktycznej aplikacji tej zasady w projektowaniu baz danych, co sprzyja spójności i integralności danych. Dobre praktyki baz danych zalecają także normalizację tabel, co pomaga w eliminacji redundancji i poprawie efektywności danych, co czyni tę koncepcję nie tylko teoretyczną, ale również praktyczną w codziennej pracy z bazami danych.

Pytanie 37

W języku JavaScript zapis ```x = przedmiot.nazwa();``` oznacza, że

A. zmienna x będzie przechowywać wynik działania metody nazwa.
B. nazwa jest właściwością obiektu przedmiot.
C. zmienna x będzie przechowywać wynik działania funkcji przedmiot.
D. nazwa jest polem klasy przedmiot.
Twoja odpowiedź jest poprawna. W języku JavaScript, zapis 'x = przedmiot.nazwa();' oznacza wywołanie metody 'nazwa' na obiekcie 'przedmiot' i przypisanie zwróconego przez nią wyniku do zmiennej 'x'. Metoda to funkcja zdefiniowana w kontekście obiektu. Ten zapis jest stosowany, gdy chcesz wykonać określone działanie na obiekcie i przechować wynik dla dalszego użycia. Jest to zgodne ze standardami i dobrymi praktykami JavaScript, które zalecają wykorzystywanie metod obiektów do manipulacji ich stanem. Dzięki temu, kod jest bardziej zorganizowany, czytelny i łatwiejszy do utrzymania.

Pytanie 38

Aby obraz wstawiony na stronę internetową mógł dostosować się automatycznie do wymiarów ekranu, na którym jest wyświetlany, konieczne jest

A. ustawienie obu jego rozmiarów w pikselach
B. ustawienie jednego z jego wymiarów w pikselach
C. niezmienianie obu jego wymiarów za pomocą stylów CSS
D. ustawienie jego szerokości w wartościach procentowych
Ustawienie szerokości obrazu w wartościach procentowych jest kluczowym aspektem responsywnego projektowania stron internetowych. Dzięki temu obraz automatycznie dostosowuje się do szerokości kontenera, w którym jest umieszczony, co pozwala na płynne skalowanie w zależności od rozmiaru ekranu. Na przykład, jeśli szerokość obrazu ustawimy na 100%, to obraz będzie zawsze zajmował całą szerokość swojego kontenera, co jest szczególnie ważne w przypadku urządzeń mobilnych oraz różnych rozdzielczości ekranów. To podejście wspiera zasady projektowania responsywnego, które są fundamentem nowoczesnych stron internetowych. Dodatkowo, stosowanie jednostek procentowych zamiast pikseli umożliwia lepszą dostępność i poprawia doświadczenia użytkowników, eliminując problemy związane z przewijaniem lub wyświetlaniem treści poza ekranem. Obrazy ustawione w procentach pozwalają na bardziej elastyczne układy, które lepiej reagują na zmiany rozmiarów okien przeglądarki, co jest zgodne z najlepszymi praktykami w branży, takimi jak użycie Frameworków CSS, jak Bootstrap, które bazują na responsywnych gridach.

Pytanie 39

Formatem grafiki wektorowej jest

A. JPG
B. SVG
C. GIF
D. PNG
Poprawnie – format SVG to grafika wektorowa. SVG (Scalable Vector Graphics) jest oparty na XML i opisuje obraz za pomocą figur geometrycznych: linii, krzywych, prostokątów, okręgów, wielokątów oraz tekstu. Dzięki temu obraz nie składa się z pikseli, tylko z równań matematycznych, więc można go dowolnie skalować bez utraty jakości – logo w SVG będzie równie ostre na wizytówce, jak i na ogromnym billboardzie czy ekranie 4K. To jest właśnie główna przewaga grafiki wektorowej nad rastrową. Moim zdaniem w świecie webowym SVG to dzisiaj standard dla ikon, logotypów, prostych ilustracji, wykresów czy schematów. Przeglądarki traktują SVG jako natywny format wspierany przez specyfikację W3C, można go osadzać bezpośrednio w kodzie HTML (inline) albo jako zewnętrzny plik. Co ważne, elementy SVG da się stylować za pomocą CSS i animować przy użyciu CSS lub JavaScript, co daje ogromne możliwości w interfejsach użytkownika i nowoczesnych stronach WWW. W praktyce dobrym podejściem jest używanie SVG wszędzie tam, gdzie grafika ma być skalowalna, lekka i ostra na różnych urządzeniach: responsywne ikony menu, grafiki w interfejsie aplikacji webowych, piktogramy, infografiki. Dodatkowo SVG często ma mniejszy rozmiar pliku niż odpowiednik PNG w wysokiej rozdzielczości, zwłaszcza gdy obraz składa się głównie z prostych kształtów. Z mojego doświadczenia to jeden z kluczowych formatów, które warto dobrze ogarnąć, jeśli myśli się poważnie o grafice komputerowej i front-endzie.

Pytanie 40

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
B. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
C. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
D. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.