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: 8 czerwca 2026 17:19
  • Data zakończenia: 8 czerwca 2026 17:26

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Którą właściwość CSS należy zastosować, aby ustawić rozmiar (wielkość) tekstu?

A.
font-style
B.
text-size
C.
font-weight
D.
font-size
Rozmiar tekstu ustawia w CSS właściwość font-size, w której podaje się wartość z jednostką, np. font-size: 16px albo font-size: 1.2em. Im większa wartość, tym większe litery. Dla responsywności często używa się jednostek względnych (em, rem, %). Dlatego do ustawienia wielkości tekstu służy font-size.

Pytanie 2

Którą funkcję z menu Kolory programu GIMP użyto, w celu uzyskania efektu przedstawionego w filmie?

A. Barwienie.
B. Krzywe.
C. Inwersja.
D. Progowanie.
Prawidłowo wskazana funkcja to „Progowanie”, bo dokładnie ona zamienia obraz kolorowy lub w odcieniach szarości na obraz dwuwartościowy: piksel jest albo czarny, albo biały, w zależności od tego, czy jego jasność przekracza ustawiony próg. W GIMP-ie znajdziesz ją w menu Kolory → Progowanie. Suwakami ustalasz zakres poziomów jasności, które mają zostać potraktowane jako „białe”, a wszystko poza tym zakresem staje się „czarne”. Efekt, który się wtedy uzyskuje, jest bardzo charakterystyczny: mocno kontrastowy, bez półtonów, coś w stylu skanu czarno-białego lub grafiki do druku na ploterze tnącym. Z mojego doświadczenia progowanie świetnie nadaje się do przygotowania logotypów, szkiców technicznych, schematów, a także do wyciągania konturów z lekko rozmytych zdjęć. Często używa się go też przed wektoryzacją, żeby program śledzący krawędzie miał wyraźne granice między czernią a bielą. W pracy z grafiką na potrzeby stron WWW próg bywa stosowany np. przy tworzeniu prostych ikon, piktogramów albo masek (maski przezroczystości można przygotować właśnie na bazie obrazu progowanego). Dobrą praktyką jest najpierw sprowadzenie obrazu do odcieni szarości i dopiero potem użycie progowania, bo wtedy masz większą kontrolę nad tym, jak rozkłada się jasność i gdzie wypadnie granica progu. Warto też pamiętać, że progowanie jest operacją destrukcyjną – traci się informacje o półtonach – więc najlepiej pracować na kopii warstwy, żeby w razie czego móc wrócić do oryginału i poprawić ustawienia progu.

Pytanie 3

Wynikiem realizacji kwerendy

SELECT sezon, SUM(liczba_dn) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:
A. lato 20, zima 27
B. lato 10, 5, 5; zima 4, 6, 9, 8
C. lato 10, zima 4, lato 5, zima 6, lato 5, zima 9, zima 8
D. lato 3, zima 4
Analiza błędnych odpowiedzi wskazuje na niezrozumienie zasad działania kwerend SQL, szczególnie w kontekście zagregowanych wyników. Odpowiedź sugerująca lato 3, zima 4, 6, 9, 8 jest niepoprawna, ponieważ nie sumuje dni, a jedynie przedstawia liczby, które są w rzeczywistości liczbą dni w sezonach. Może to wynikać z błędnej interpretacji funkcji GROUP BY, która ma na celu zebranie wyników w grupy przed zastosowaniem funkcji agregujących. Kolejna odpowiedź myli pojęcie grupowania i agregacji, podając szczegółowe wartości bez ich sumowania, co nie jest zgodne z logiką kwerendy. W SQL, funkcja SUM nie jest używana do wyodrębnienia poszczególnych wartości, ale do obliczenia ich łącznej wartości w ramach grupy. Ostatnia niepoprawna odpowiedź, która z kolei podaje poszczególne dni rezerwacji dla obu sezonów, również nie spełnia wymogu zsumowania danych. Podobnie jak w poprzednich przypadkach, brak zrozumienia, jak działają agregacje w SQL, prowadzi do wniosków, które są niezgodne z pojęciem zorganizowanej analizy danych. Dlatego niezwykle ważne jest, aby przy pracy z danymi zrozumieć, jak funkcje agregujące wpływają na zbieranie informacji oraz w jaki sposób odpowiednie grupowanie i przetwarzanie danych może dostarczyć użytecznych informacji dla różnych analiz biznesowych.

Pytanie 4

Jednym z kluczowych identyfikatorów wpisu w bazie danych jest pole

A. numeryczne
B. klucza podstawowego
C. klucza obcego
D. relacji
Klucz podstawowy jest fundamentalnym elementem każdej relacyjnej bazy danych, ponieważ jednoznacznie identyfikuje każdy rekord w tabeli. Jego główną cechą jest unikalność, co oznacza, że żaden z rekordów w tabeli nie może mieć tego samego klucza podstawowego. Klucz podstawowy może składać się z jednego lub więcej atrybutów (kolumn), ale zawsze musi zapewniać jednoznaczność identyfikacji. Przykładem może być tabela 'Użytkownicy', gdzie 'ID_Użytkownika' działa jako klucz podstawowy, pozwalając na łatwe i szybkie wyszukiwanie konkretnych użytkowników. Zgodnie z najlepszymi praktykami projektowania baz danych, klucze podstawowe powinny być stabilne i niezmienne w czasie, aby uniknąć komplikacji związanych z aktualizacją wartości. Klucz podstawowy jest również kluczowy dla relacji między tabelami, ponieważ inne tabele mogą odwoływać się do niego poprzez klucze obce. Dzięki temu, struktura bazy danych staje się bardziej zorganizowana i lepiej znormalizowana, co z kolei prowadzi do zwiększonej wydajności i integralności danych.

Pytanie 5

Wskaż fragment CSS, który odpowiada rozkładowi bloków 2-5, zakładając, że zostały one zbudowane na podstawie podanego kodu HTML.

Ilustracja do pytania
A. Kod 1
B. Kod 3
C. Kod 4
D. Kod 2
Niepoprawne podejścia w pozostałych kodach wynikają z niewłaściwego użycia właściwości float oraz clear. W Kodzie 1 użycie float: right; dla czwartego bloku jest poprawne, jednak clear: both; dla piątego bloku powoduje, że nie będzie on kontynuował linii z poprzednimi blokami, co nie pasuje do przedstawionego układu. Clear: both; wymusza przeniesienie bloku poniżej aktualnej linii. Kod 3 charakteryzuje się brakiem właściwości clear, co prowadzi do problemów z układem, gdyż blok 5 ułożony float: right; nie rozpocznie nowego wiersza, co jest potrzebne w tym zadaniu. W Kodzie 4 brak jest jakiegokolwiek użycia właściwości float lub clear dla bloków 3, 4 i 5 co uniemożliwia osiągnięcie założonego układu. Brak float dla trzeciego i czwartego bloku spowoduje, że będą one umieszczone pod sobą jako blokowe elementy domyślnie, co nie pasuje do układu. Prawidłowa organizacja układu bloków za pomocą właściwości float opiera się na odpowiednim przypisaniu float: left; lub right; oraz strategicznym użyciu clear, aby kontrolować przepływ elementów w wierszach. Typowym błędem jest niezrozumienie, że clear resetuje przepływ dla kolejnego bloku, co jest kluczowe w manipulacji wyglądem layoutu blokowego w starszych technikach CSS. Takie błędy mogą prowadzić do nieprzewidywalnych rezultatów, zwłaszcza gdy układ jest testowany na różnych przeglądarkach i rozdzielczościach ekranów, co podkreśla znaczenie testowania i walidacji CSS w kontekście projektów webowych. Stosowanie zasad float i clear wymaga precyzyjnego planowania, by unikać konfliktów w przepływie i zachować spójność wizualną projektu webowego.

Pytanie 6

Które polecenie zwiększy o 1 pole RokStudiow w tabeli Studenci dla studentów z lat 1-4?

A.
UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5;
B.
UPDATE Studenci SET RokStudiow = RokStudiow + 1 WHERE RokStudiow < 5;
C.
UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5;
D.
UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5;
Aby zwiększyć pole o 1, przypisuje mu się jego dotychczasową wartość powiększoną o jeden: SET RokStudiow = RokStudiow + 1, a WHERE RokStudiow < 5 ogranicza zmianę do lat 1-4. Daje to UPDATE Studenci SET RokStudiow = RokStudiow + 1 WHERE RokStudiow < 5;. Dlatego ta kwerenda jest poprawna.

Pytanie 7

Wskaż wszystkie symbole, które pozwalają na komentowanie kodu w języku PHP.

A. /* */ oraz <!-- -->
B. /* */ oraz // oraz #
C. tylko /* */
D. <?php ?> oraz //
Wybór odpowiedzi wskazującej jedynie na znaki /* */ jako mechanizmy komentowania jest niekompletny i wprowadza w błąd. Komentarze są istotnym elementem każdego skryptu, ponieważ pozwalają na dodawanie uwag, które nie wpływają na wykonanie programu, ale znacząco przyczyniają się do jego zrozumienia. Ograniczanie się jedynie do komentarzy wieloliniowych oznaczonych przez /* */ pomija inne, równie istotne metody komentowania, które są dostępne w PHP. Innym błędem jest sugerowanie, że <?php ?> oraz // są metodami komentowania. Znak <?php ?> służy do otwierania bloku kodu PHP, a nie do tworzenia komentarzy, co jest fundamentalnym nieporozumieniem. Wprowadzenie znaku <!-- --> jako sposobu na komentowanie w PHP jest również mylące, ponieważ ten zapis jest używany w HTML, a nie w PHP, co prowadzi do nieporozumień dotyczących kontekstu użycia. Użycie nieodpowiednich znaków do komentowania może prowadzić do problemów w interpretacji kodu przez interpreter PHP oraz utrudniać jego konserwację. Właściwe rozumienie mechanizmów komentowania jest kluczowe dla każdej osoby programującej w PHP, ponieważ pozwala na tworzenie bardziej czytelnych, zrozumiałych i utrzymywalnych skryptów.

Pytanie 8

W HTML5 semantycznym znacznikiem, który służy do określenia dwóch sekcji widocznych po prawej stronie na rysunku, zawierających wiadomości oraz aktualności, jest

Ilustracja do pytania
A. &lt;article&gt;
B. &lt;nav&gt;
C. &lt;footer&gt;
D. &lt;main&gt;
Bardzo często osoby uczące się HTML5 mylą znaczniki semantyczne, szczególnie gdy chodzi o takie elementy jak <nav>, <main>, <footer> czy <article>. To w sumie zrozumiałe, bo na pierwszy rzut oka mogą się wydawać podobne, ale każdy z nich ma swoje konkretne zadanie. <nav> to sekcja nawigacyjna – zawiera odnośniki do innych części serwisu, więc zwykle stosuje się go do menu, bocznych pasków z linkami czy paneli nawigacyjnych. Umieszczenie w <nav> sekcji z wiadomościami czy aktualnościami to klasyczny przykład złego zrozumienia przeznaczenia tego elementu – w praktyce taka struktura zaburza logikę nawigacji i dostępność strony. <main> z kolei oznacza główną i unikalną treść dokumentu, tej, która jest najważniejsza dla danej podstrony. Jednak <main> używamy tylko raz na stronie – nie powinno się go powielać ani używać do oznaczania pojedynczych sekcji, takich jak wiadomości, bo to prowadzi do błędnej interpretacji przez wyszukiwarki i czytniki ekranowe. <footer> odpowiada za stopkę strony lub sekcji, czyli miejsce na informacje jak prawa autorskie, dane kontaktowe, linki do polityk czy podsumowania – wrzucenie tam wiadomości czy aktualności byłoby mocno nielogiczne. Wybierając niewłaściwy znacznik, można popełnić błąd, który potem utrudnia rozwój strony, jej pozycjonowanie czy poprawność dostępności. Najczęstszy błąd to kierowanie się wyglądem, a nie semantyką – a w HTML5 to właśnie semantyka daje najwięcej korzyści na dłuższą metę.

Pytanie 9

Do którego akapitu przypisano podaną właściwość stylu CSS?
border-radius: 20%;

Ilustracja do pytania
A. Rys. D
B. Rys. A
C. Rys. B
D. Rys. C
Właściwość border-radius ma specyficzne zastosowanie do zaokrąglania rogów elementów HTML i w tym kontekście inne odpowiedzi jak Rys. A Rys. C i Rys. D nie wykazują cech związanych z tą właściwością. Rys. A ma ostre krawędzie co sugeruje brak użycia zaokrągleń. To pokazuje że border-radius nie został tam zastosowany co jest często spotykanym błędem w przypadku gdy nie rozumie się działania tej właściwości. Rys. C z kolei ma przerywaną linię obramowania co może wskazywać na użycie innej właściwości CSS np. border-style a nie border-radius. Stylizacja taka jest przydatna do wizualnego oddzielenia sekcji ale nie dotyczy bezpośrednio zaokrąglania rogów. Z kolei Rys. D ma efekt cienia co sugeruje raczej użycie właściwości box-shadow niż border-radius. Często myli się te dwie właściwości ponieważ obie wpływają na wygląd ramki jednak działają na zupełnie innych zasadach. Rozpoznanie użycia właściwej właściwości CSS jest kluczowe w projektowaniu intuicyjnych i estetycznych interfejsów co wymaga zrozumienia jak i kiedy każda z nich powinna być zastosowana. Właściwe wykorzystanie border-radius jako elementu stylizacji jest istotnym aspektem profesjonalnego projektowania stron internetowych co wymaga dokładnego zrozumienia jego wpływu na wygląd i funkcjonalność strony.

Pytanie 10

Wskaż zdanie, które jest nieprawdziwe w odniesieniu do poniższej definicji funkcji w języku C++? void zamien(float &x, float &y){ float tmp; tmp=x; x=y; y=tmp; }

A. Funkcja zwraca jakąś wartość
B. Funkcja nie zwraca żadnej wartości
C. Funkcja ma dwa argumenty
D. Funkcja korzysta z parametrów przez referencję
Wszystkie niepoprawne odpowiedzi zawierają błędne założenia dotyczące definicji i działania funkcji zamien. Po pierwsze, twierdzenie, że funkcja zwraca wartość, jest nieprawdziwe, ponieważ w definicji funkcji użyto słowa kluczowego 'void', co jednoznacznie wskazuje, że nie ma zwracanej wartości. W C++ funkcje, które zwracają wartości, muszą mieć określony typ, a brak takiego typu sugeruje, że funkcja nie zwraca żadnych danych. Drugie stwierdzenie, że funkcja nie zwraca wartości, jest rzeczywiście poprawne. Warto zauważyć, że w przypadku funkcji, która dokonuje jedynie zamiany wartości argumentów przez referencję, nie ma potrzeby zwracania wyniku, gdyż zmiany te są widoczne w zmiennych przekazanych do funkcji. Trzecia odpowiedź, która wskazuje, że funkcja posiada dwa parametry, jest również prawdziwa, ponieważ funkcja 'zamien' przyjmuje dwa argumenty typu 'float', które są przekazywane przez referencję. Odnosi się to do aspektu przekazywania argumentów, gdzie użycie referencji pozwala na modyfikację przekazywanych danych. Na koniec, czwarta odpowiedź, mówiąca, że funkcja odwołuje się do parametrów przez referencję, również jest poprawna. Przekazywanie przez referencję jest techniką, która umożliwia bezpośrednią manipulację zmiennymi zewnętrznymi, co zwiększa elastyczność i efektywność funkcji, zwłaszcza w kontekście operacji na dużych zbiorach danych. W związku z tym, analiza wszystkich odpowiedzi prowadzi do wniosku, że tylko pierwsze stwierdzenie jest błędne, ponieważ jasno pokazuje, że funkcja zamien nie zwraca żadnej wartości.

Pytanie 11

Z przedstawionych tabel Artykuly i Autorzy należy wybrać jedynie nazwiska autorów i tytuły ich artykułów, które zostały ocenione na 5. Kwerenda wybierająca te dane ma postać

Ilustracja do pytania
A. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = artykuly.id;
B. SELECT nazwisko, tytul FROM autorzy, artykuly WHERE ocena == 5;
C. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id;
D. SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;
Gratulacje! Wybrałeś poprawne zapytanie SQL, które dokładnie odpowiada na postawione pytanie. Zapytanie 'SELECT nazwisko, tytul FROM autorzy JOIN artykuly ON autorzy.id = autorzy_id WHERE ocena = 5;' jest prawidłowe, bo łączy dwie tabele 'autorzy' i 'artykuly' za pomocą klucza obcego 'autorzy_id' w tabeli 'artykuly'. Dzięki temu uzyskujemy dostęp do nazwisk autorów i tytułów artykułów. Dodatkowo, część 'WHERE ocena = 5' filtruje wyniki tak, aby wyświetlane były tylko te rekordy, gdzie ocena wynosi 5. To jest kluczowy element, który pozwala nam skupić się tylko na tych danych, które są istotne dla pytania. W praktyce, tego typu zapytania pomagają nam w analizie wydajności autorów i jakości artykułów, co jest niezwykle ważne w branży wydawniczej.

Pytanie 12

Która z czynności NIE WPŁYNIE na wielkość zajmowanej pamięci pliku graficznego?

A. Kompresja
B. Zmiana rozdzielczości obrazu
C. Skalowanie obrazu przy użyciu atrybutów HTML
D. Interpolacja
Interpolacja, zmiana rozdzielczości obrazu oraz kompresja to operacje, które na różne sposoby wpływają na wielkość pliku graficznego. Interpolacja polega na dodawaniu nowych pikseli w celu zwiększenia rozmiaru obrazu, co w rezultacie zwiększa ilość danych i tym samym rozmiar pliku. Gdy obraz jest skalowany w górę, a algorytmy interpolacji nieuchronnie dodają nowe informacje, prowadzi to do wzrostu rozmiaru pliku. Z kolei zmiana rozdzielczości obrazu, która polega na zwiększeniu liczby pikseli w danym obrazie, również skutkuje jego powiększeniem. Im wyższa rozdzielczość, tym więcej informacji musi być przechowywanych, co zwiększa rozmiar pliku. Kompresja, mimo że jest techniką stosowaną w celu zmniejszenia rozmiaru pliku, w rzeczywistości zmienia dane obrazu, co również wpływa na jego ostateczną wielkość. Kompresja bezstratna i stratna oferują różne podejścia do redukcji rozmiaru, ale zawsze wprowadza to zmiany w oryginalnych danych. Typowym błędem jest mylenie skali wizualnej z rzeczywistym rozmiarem pliku, co prowadzi do nieprawidłowych wniosków o wpływie operacji na wielkość pliku. Zrozumienie tych różnic jest kluczowe w kontekście efektywnej optymalizacji obrazów w projektach webowych.

Pytanie 13

Który znacznik HTML jest elementem BLOKOWYM?

A.
<strong>
B.
<span>
C.
<img>
D.
<p>
Pozostałe znaczniki są LINIOWE (inline). <span> oznacza fragment tekstu, <strong> pogrubia, a <img> wstawia obraz w linii - nie wymuszają nowej linii. Elementem blokowym jest <p>.

Pytanie 14

Który zapis w języku JavaScript daje jednakowy rezultat do przedstawionego kodu?

x = 0;
x += 10;
A. x = 0; x++; x = x + 9;
B. x = 10; x = 0;
C. x = 10; x = x + 10;
D. x = 0; x--; x *= 9;
Wybrana przez Ciebie odpowiedź, niestety nie jest zgodna z przykładem kodu przedstawionym na zdjęciu. Wszystkie niepoprawne odpowiedzi zawierają błędny rozumowanie dotyczące operacji na zmiennych w JavaScript. Bardzo częstym błędem jest mylenie operatorów inkrementacji i dekrementacji. Operator '--' w JavaScript zmniejsza wartość zmiennej o 1, a nie zwiększa. Również, operator '*=' jest skrótem dla mnożenia i przypisania wyniku do zmiennej, a nie dla dodawania. Kolejnym błędem jest niezrozumienie przypisania wartości do zmiennej. Instrukcja 'x = 10; x = 0;' przypisuje najpierw wartość 10 do zmiennej 'x', a potem nadpisuje ją wartością 0, co jest niezgodne z kodem na zdjęciu. To są typowe błędy, które prowadzą do niepoprawnych wniosków na temat działania JavaScript. Ważne jest zrozumienie podstawowych operatorów i ich działania, aby uniknąć takich pomyłek. Pamiętaj, że zrozumienie zasad działania języka programowania jest kluczowe dla tworzenia poprawnych i efektywnych kodów.

Pytanie 15

Po wykonaniu instrukcji języka JavaScript  x = Math.ceil(2.4); wartość zmiennej x będzie wynosić

A. 4
B. 8
C. 2
D. 3
W tym zadaniu najczęstszy problem polega na pomyleniu różnych sposobów zaokrąglania liczb w JavaScript. Wiele osób odruchowo myśli o zwykłym zaokrąglaniu matematycznym i zakłada, że 2.4 powinno zostać zaokrąglone do 2, bo jest bliżej dwójki niż trójki. To byłoby prawdziwe dla Math.round(2.4), ale nie dla Math.ceil(2.4). I tu jest cały haczyk.
Math.ceil() nie patrzy, czy liczba jest bliżej niższego czy wyższego całkowitego. Ta funkcja zawsze zaokrągla w górę, czyli w stronę dodatniej nieskończoności. Jeżeli mamy 2.0001, 2.4 czy 2.9 – w każdym z tych przypadków Math.ceil() zwróci 3. Jedynie gdy liczba jest już całkowita, np. 2.0, wynik pozostanie 2. Odpowiedź 2 wynika więc z błędnego założenia, że ceil działa jak klasyczne „zaokrąglanie w dół przy małej części ułamkowej”. Tymczasem do zaokrąglania w dół służy Math.floor(), która z 2.4 zrobiłaby 2.
Zdarza się też, że ktoś mechanicznie przeskakuje o „więcej niż jedną” jednostkę i wybiera 4 albo nawet 8, jakby ceil miał coś wspólnego z podwajaniem wartości albo jakimś magicznym przeskokiem. To już kompletnie nie ma uzasadnienia w definicji funkcji. Math.ceil() nie skaluje liczby, nie mnoży jej, nie patrzy na „odległość” od kolejnych całkowitych, tylko wybiera najbliższą liczbę całkowitą większą lub równą podanej wartości.
Z mojego doświadczenia taki błąd często wynika z mieszania w głowie kilku funkcji naraz: ceil, floor, round, czasem jeszcze parseInt. Dobra praktyka jest taka, żeby kojarzyć je kierunkowo: floor – w dół, ceil – w górę, round – do najbliższej. W codziennym programowaniu webowym ma to ogromne znaczenie, np. przy paginacji, gdzie zazwyczaj właśnie Math.ceil() liczy liczbę stron, bo nie możesz obciąć „końcówki” wyników. Jeśli zaokrąglisz w dół, użytkownik straci część danych. Jeżeli zrozumiesz dokładnie różnicę między tymi funkcjami, takie pytania nie będą sprawiały żadnego problemu.

Pytanie 16

Ile klatek na sekundę zapewnia PŁYNNY obraz w filmie (minimalny typowy zakres)?

A. 31-36 fps
B. 24-30 fps
C. 16-19 fps
D. 20-23 fps
Płynny ruch w filmie zapewnia zwykle 24-30 klatek na sekundę (np. 24 fps w kinie, 25 w europejskiej telewizji). Poniżej tego zakresu obraz zaczyna „skakać”. Dlatego płynność daje 24-30 fps.

Pytanie 17

Który zapis CSS ustawi wcięcie PIERWSZEJ linii akapitu na 30 pikseli?

A.
p { text-spacing: 30px; }
B.
p { line-indent: 30px; }
C.
p { text-indent: 30px; }
D.
p { line-height: 30px; }
Pozostałe właściwości nie istnieją lub robią co innego. text-spacing i line-indent w CSS nie istnieją. line-height ustawia WYSOKOŚĆ wiersza (odstęp między liniami), a nie wcięcie. Wcięcie pierwszej linii daje text-indent.

Pytanie 18

Grafik chce przekształcić bez utraty jakości obraz formatu JPEG w format PNG w ten sposób, żeby wszędzie tam, gdzie w pierwotnym obrazie jest kolor biały, w obrazie docelowym była przezroczystość. Aby to zrobić, powinien

A. zmniejszyć rozdzielczość obrazu.
B. zaimportować obraz do edytora grafiki wektorowej.
C. dodać kanał alfa.
D. przekształcić obraz w odcienie szarości.
W tym zadaniu łatwo wpaść w pułapkę myślenia, że cokolwiek zmieniającego obraz „optycznie” przybliży nas do przezroczystości, ale technicznie to tak nie działa. Przezroczystość w grafice rastrowej nie jest związana ani z rozdzielczością, ani z kolorem białym jako takim, tylko z obecnością specjalnego kanału opisującego alfa, czyli krycie. Jeśli obraz nie ma kanału alfa, każdy piksel jest po prostu w pełni nieprzezroczysty, bez względu na to, czy jest biały, czarny czy zielony. Zmniejszenie rozdzielczości wpływa jedynie na liczbę pikseli i szczegółowość obrazu. Można to traktować jako skalowanie w dół, co często powoduje dodatkowe rozmycie i spadek ostrości, ale nie pojawi się od tego żadna przezroczystość. Program nie ma powodu uznać, że po zmniejszeniu rozdzielczości białe piksele nagle staną się „dziurą” w obrazie. To są dalej normalne piksele RGB. Podobnie przekształcenie obrazu w odcienie szarości (grayscale) jedynie zmienia sposób kodowania koloru. Zamiast trzech składowych RGB używamy pojedynczej jasności, ale wciąż każdy piksel jest w pełni kryjący. Odcienie szarości są przydatne w obróbce artystycznej czy przy optymalizacji rozmiaru plików, ale nie mają nic wspólnego z dodaniem kanału alfa ani z wycinaniem tła. Częsty błąd polega na myleniu „białego tła” z przezroczystością – w wielu edytorach białe tło wygląda podobnie do szachownicy symbolizującej alfa, ale technicznie to zupełnie inna rzecz. Z kolei import do edytora grafiki wektorowej sam z siebie nie rozwiązuje problemu. Program wektorowy może co prawda osadzić rastrowy JPEG jako obiekt, ale on dalej pozostaje bitmapą bez kanału alfa. Przezroczystość można wtedy dodać dopiero po konwersji do formatu obsługującego alfa i odpowiedniej edycji. Sam fakt, że pracujemy w środowisku „wektorowym”, nie powoduje magicznego zniknięcia białego tła. Kluczowe jest zrozumienie, że o przezroczystości decyduje struktura danych obrazu (obecność kanału alfa), a nie to, jakiego typu program otworzy plik ani jaką ma on rozdzielczość czy tryb kolorów. Taki sposób myślenia bardzo pomaga przy pracy z grafiką na strony WWW i przy przygotowaniu elementów UI, gdzie przezroczystość jest standardem.

Pytanie 19

Do czego służy w JavaScript metoda Math.random()?

A. do zwrócenia liczby pseudolosowej
B. do porównania dwóch napisów
C. do zaokrąglenia liczby w górę do całkowitej
D. do zwrócenia liczby po zaokrągleniu
Pozostałe opisy dotyczą innych metod. Zaokrąglanie w górę to Math.ceil(), a zaokrąglanie do całkowitej Math.round(). Porównywanie napisów nie jest rolą obiektu Math. Liczbę pseudolosową zwraca Math.random().

Pytanie 20

Które wywołanie is_int() zwróci true?

A.
is_int(135)
B.
is_int(NULL)
C.
is_int(13.5)
D.
is_int("135")
Funkcja is_int() zwraca true tylko dla liczby CAŁKOWITEJ - dlatego is_int(135) da true.

Pytanie 21

Tabela gory zawiera dane o polskich wzniesieniach oraz łańcuchach górskich, w których te wzniesienia się znajdują. Aby uzyskać Koronę Gór Polskich, czyli najwyższe wzniesienie w każdym z łańcuchów górskich, należy wykonać kwerendę

A. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory
B. SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo
C. SELECT pasmo, szczyt, wysokosc FROM gory
D. SELECT pasmo, szczyt FROM gory GROUP BY wysokosc
Odpowiedź SELECT pasmo, szczyt, MAX(wysokosc) FROM gory GROUP BY pasmo; jest poprawna, ponieważ wykorzystuje funkcję agregującą MAX, która pozwala na wybranie najwyższego szczytu w każdym paśmie górskim. Grupa pasm górskich jest tworzona za pomocą klauzuli GROUP BY, co jest kluczowe w tym kontekście, ponieważ chcemy uzyskać najwyższy szczyt dla każdej grupy, a nie tylko globalny najwyższy szczyt. W praktyce, takie podejście jest niezwykle użyteczne w analizach geograficznych i tworzeniu raportów, gdzie grupowanie danych według określonych kryteriów pozwala na lepsze zrozumienie struktury danych. W kontekście baz danych, stosowanie funkcji agregujących w połączeniu z klauzulą GROUP BY jest standardową praktyką, co zwiększa efektywność zapytań oraz pozwala na uzyskanie bardziej precyzyjnych wyników. Przykładowo, podobne zapytania mogą być używane w analizach sprzedażowych, gdzie chcemy zobaczyć maksymalną sprzedaż w każdym regionie, co również wymaga grupowania danych według regionów.

Pytanie 22

Aby zadeklarować pole klasy, do którego dostęp mają jedynie metody tej klasy, a które nie jest dostępne dla klas pochodnych, należy użyć kwalifikatora dostępu

A. prywatny
B. publiczny
C. chroniony
D. publikowany
Kluczem jest tu sformułowanie „dostęp mają jedynie metody tej klasy” oraz wykluczenie klas pochodnych. Modyfikator public robi dokładnie odwrotność - otwiera pole na cały program, więc odwoła się do niego każdy kod, łącznie z obcymi klasami; o żadnym ukryciu danych nie ma mowy. Kuszący bywa protected, bo faktycznie ogranicza dostęp, ale o jeden poziom za mało: pole chronione widzą metody tej klasy oraz wszystkich klas dziedziczących, a w pytaniu klasy pochodne mają być właśnie odcięte. „Publikowany” to z kolei pułapka - taki modyfikator dostępu nie występuje w popularnych językach obiektowych (Java, C#, C++, PHP), więc nie ma czego z nim porównywać. Pozostaje private, który zamyka pole w obrębie jednej klasy i jako jedyny spełnia oba warunki: dostęp tylko z metod tej klasy i brak dostępu dla potomków.

Pytanie 23

W SQL, przy użyciu polecenia ALTER, można

A. stworzyć nową tabelę
B. usunąć tabelę
C. dodać dane do tabeli
D. zmienić strukturę tabeli
Odpowiedź jest poprawna, ponieważ polecenie ALTER w języku SQL służy do modyfikacji istniejącej struktury tabeli. Umożliwia ono wykonywanie różnych operacji, takich jak dodawanie nowych kolumn, zmiana typu danych istniejących kolumn, a także usuwanie kolumn. Przykładem użycia może być zmiana typu danych kolumny 'wiek' w tabeli 'Użytkownicy' z INTEGER na VARCHAR, co można osiągnąć za pomocą zapytania: ALTER TABLE Użytkownicy MODIFY COLUMN wiek VARCHAR(3). Zmiana struktury tabeli jest istotna w kontekście dostosowywania bazy danych do zmieniających się wymagań aplikacji i użytkowników, co jest kluczowe dla utrzymania jej elastyczności i wydajności. Warto również pamiętać, że modyfikacje struktury tabeli powinny być przeprowadzane z zachowaniem zasad bezpieczeństwa danych oraz odpowiednich procedur kontroli wersji, aby zminimalizować ryzyko utraty danych lub wprowadzenia błędów. Dzięki zrozumieniu i umiejętnemu stosowaniu polecenia ALTER, administratorzy baz danych mogą skuteczniej zarządzać strukturą i integralnością danych.

Pytanie 24

Która funkcja PHP zamieni słowo "kota" na "mysz" w napisie "ala ma kota"?

A.
str_replace("ala ma kota", "kota", "mysz");
B.
replace("kota", "mysz", "ala ma kota");
C.
str_replace("kota", "mysz", "ala ma kota");
D.
replace("ala ma kota", "kota", "mysz");
Pozostałe wywołania są błędne. Funkcja replace() (bez str_) w PHP nie istnieje. Wariant str_replace("ala ma kota", "kota", "mysz") używa właściwej funkcji, ale w złej kolejności - jako pierwszy podaje cały tekst zamiast szukanego fragmentu. Poprawne jest str_replace("kota", "mysz", "ala ma kota").

Pytanie 25

Jak nazywa się powiązanie między dwoma zbiorami encji na diagramie ER?

A. dziedziną
B. krotką
C. związkiem
D. atrybutem
Pozostałe pojęcia dotyczą czego innego. Krotka to pojedynczy wiersz (egzemplarz encji). Dziedzina to zbiór dopuszczalnych wartości atrybutu. Atrybut to cecha encji (kolumna). Powiązanie między zbiorami encji to związek.

Pytanie 26

Którego polecenia użyć w PHP, aby poprawnie ZAKOŃCZYĆ połączenie z bazą MySQL?

A.
mysqli_close
B.
mysql_exit
C.
die
D.
exit
Połączenie z bazą MySQL otwierasz w PHP przez mysqli_connect(), a gdy skończysz na nim pracować, zamykasz je funkcją mysqli_close($polaczenie). Zamknięcie zwalnia zasoby serwera i uchwyt połączenia, co jest dobrą praktyką zwłaszcza w długo działających skryptach (choć PHP i tak zamyka połączenie automatycznie na końcu wykonania). Typowy schemat to: połącz się, wyślij zapytania, odbierz wyniki, a na końcu mysqli_close($polaczenie);. Zapamiętaj: skoro połączenie otwiera mysqli_connect, to symetrycznie zamyka je mysqli_close.

Pytanie 27

Podaj nazwę Systemu Zarządzania Treścią, którego logo jest pokazane na dołączonym rysunku?

Ilustracja do pytania
A. Drupal
B. Joomla!
C. MediaWiki
D. WordPress
Odpowiedź Joomla! jest poprawna ponieważ logo przedstawione na rysunku jest oficjalnym znakiem identyfikacyjnym tego systemu zarządzania treścią CMS. Joomla! to jeden z najpopularniejszych systemów CMS używany do tworzenia stron internetowych oraz aplikacji. Dzięki swojej elastyczności i dużej liczbie dostępnych rozszerzeń Joomla! pozwala na tworzenie zarówno prostych stron wizytówkowych jak i zaawansowanych serwisów e-commerce. Główne zalety Joomla! to intuicyjny interfejs użytkownika który ułatwia zarządzanie treściami oraz silna społeczność użytkowników zapewniająca wsparcie techniczne i rozwój oprogramowania. Joomla! jest zgodna z wieloma standardami webowymi co czyni ją wszechstronnym narzędziem do wdrażania profesjonalnych projektów internetowych. Korzystanie z Joomla! umożliwia szybkie i efektywne tworzenie responsywnych stron które dobrze współdziałają na różnych urządzeniach mobilnych. Praktyczne zastosowanie Joomla! obejmuje tworzenie stron korporacyjnych portali społecznościowych oraz serwisów informacyjnych. Dzięki modulowej architekturze użytkownicy mogą łatwo dostosowywać funkcjonalność swoich stron do specyficznych potrzeb branżowych co jest zgodne z dobrymi praktykami projektowania zorientowanego na użytkownika. Platforma Joomla! obsługuje także wielojęzyczność i różne metody uwierzytelniania co czyni ją idealnym rozwiązaniem dla międzynarodowych projektów.

Pytanie 28

Walidator W3C zgłosił błąd o niezamkniętych elementach przy zamykającym <p>. Którego fragmentu dotyczy?

A.
<p>Ala ma <b>kota</p></b>
B.
<p>Ala ma kota</p>
C.
<p>Ala ma <b>kota</b></p>
D.
<p>Ala ma kota
Pozostałe fragmenty są poprawnie zagnieżdżone lub niezwiązane z błędem. <p>Ala ma <b>kota</b></p> zamyka <b> przed <p> - prawidłowo. <p>Ala ma kota</p> nie ma zagnieżdżeń. Brak zamknięcia </p> to inny błąd. Krzyżowanie tagów występuje w <p>Ala ma <b>kota</p></b>.

Pytanie 29

Co określa właściwość CSS animation-duration?

A. liczbę powtórzeń animacji
B. kierunek animacji
C. opóźnienie startu animacji
D. czas trwania jednego cyklu animacji
Właściwość CSS animation-duration określa, ile trwa JEDEN cykl animacji - np. animation-duration: 2s oznacza, że pełen przebieg zajmuje dwie sekundy. To podstawowy parametr czasu w animacjach CSS. Dlatego animation-duration określa czas trwania jednego cyklu.

Pytanie 30

Aby policzyć wszystkie wiersze w tabeli Koty, należy użyć zapytania:

A.
SELECT COUNT(ROWNUM) FROM Koty
B.
SELECT ROWNUM() FROM Koty
C.
SELECT COUNT(*) FROM Koty
D.
SELECT COUNT(Koty) AS ROWNUM
Pozostałe zapytania są błędne lub używają nieistniejących elementów. ROWNUM i ROWNUM() to konstrukcje znane z innych systemów (np. Oracle), a w MySQL nie służą do liczenia wierszy w ten sposób. SELECT COUNT(Koty) AS ROWNUM nie ma klauzuli FROM i przekazuje do COUNT nazwę tabeli zamiast kolumny lub *. Liczbę wszystkich wierszy zwraca SELECT COUNT(*) FROM Koty, dlatego to ono jest poprawne.

Pytanie 31

W kodzie CSS zapis

a[target="_blank"] {color:yellow;}
spowoduje, że kolor żółty zostanie przypisany do tekstu
A. wszystkich linków
B. tekstów w paragrafie
C. linków, które otwierają się w nowej karcie
D. linków, które są otwierane w tej samej karcie
Zrozumienie różnicy między różnymi atrybutami target jest kluczowe w kontekście stylowania odnośników. Tekst paragrafu nie jest bezpośrednio związany z selektorem CSS, dlatego stwierdzenie, że reguła ta odnosi się do tekstu paragrafu, jest błędne. CSS działa na elementach HTML, a nie na ich zawartości tekstowej, co oznacza, że stylizacja dotyczy wyłącznie określonych elementów, takich jak <a>. Stwierdzenie, że kolor żółty przyjmie każdy odnośnik, jest również mylące, ponieważ CSS w tym przypadku stosuje się wyłącznie do tych, które mają zdefiniowany atrybut target. Warto zauważyć, że nie wszystkie odnośniki muszą mieć atrybut target, a więc nie wszystkie będą miały zastosowaną regułę stylizacji. Odpowiedź sugerująca, że dotyczy to odnośników otwierających się w tej samej karcie jest szczególnie nieprecyzyjna, ponieważ to właśnie 'target="_self"' określa otwieranie w tej samej karcie, co nie jest ujęte w omawianym selektorze. Kluczowe jest więc, aby przy interpretacji reguł CSS zwracać uwagę na specyfikę selektorów i ich atrybuty, co pozwala na skuteczne i właściwe zastosowanie stylizacji w praktyce.

Pytanie 32

Tabela samochody zawiera dane przedstawione poniżej:

idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
Wydając zamieszczone zapytanie SQL, jakie dane zostaną zwrócone:
SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel";
A. opel zafira; opel insignia
B. opel zafira
C. zafira
D. zafira; insignia
Wszystkie niepoprawne odpowiedzi zawierają błędy związane z interpretacją wyników zapytania SQL. Odpowiedź 'opel zafira' jest niepoprawna, ponieważ zapytanie nie zwraca modelu w formie złożonej, a jedynie oczekuje nazwy modelu. Podobnie, odpowiedzi 'zafira; insignia' oraz 'opel zafira; opel insignia' sugerują, że obie te nazwy są zwracane przez zapytanie, co jest błędne. W rzeczywistości, zapytanie filtruje dane tak, że tylko jeden model – 'zafira' – jest odpowiedzią na podane warunki. Przykłady takich błędnych założeń często wynikają z niepełnego zrozumienia działania operatorów w zapytaniach SQL oraz ich wpływu na wyniki. Analizując odpowiedzi, należy zwracać uwagę na precyzyjność zapytań oraz na zastosowanie odpowiednich warunków filtrujących, aby uniknąć błędnych wniosków. W praktyce, dobre zrozumienie działania SQL i umiejętność właściwego formułowania zapytań to kluczowe umiejętności w każdej pracy związanej z danymi, co podkreśla znaczenie dokładności i staranności w tym obszarze. Każdy analityk danych powinien dążyć do mistrzostwa w tej dziedzinie, aby skutecznie wspierać podejmowanie decyzji na podstawie danych.

Pytanie 33

Jak nazywa się sytuacja, w której funkcja wywołuje samą siebie?

A. dziedziczenie
B. iteracja
C. hermetyzacja
D. rekurencja
Pozostałe pojęcia oznaczają co innego. Iteracja to powtarzanie tych samych instrukcji w pętli (for, while) - również realizuje powtórzenia, ale bez wywoływania funkcji przez siebie. Hermetyzacja to zasada programowania obiektowego polegająca na ukrywaniu wewnętrznych pól i metod obiektu. Dziedziczenie to mechanizm OOP, w którym klasa przejmuje cechy klasy nadrzędnej. Wywoływanie funkcji przez nią samą to rekurencja, dlatego ta odpowiedź jest poprawna.

Pytanie 34

Co w pasku adresu przeglądarki sygnalizuje, że połączenie ze stroną jest bezpieczne (szyfrowane HTTPS)?

A. dane whois domeny
B. ikona kłódki
C. nazwa serwera w nagłówku
D. adres IP serwera
Pozostałe elementy nie informują o bezpieczeństwie połączenia. Dane whois opisują rejestrację domeny (właściciela, daty) i nie pojawiają się w pasku adresu ani nie świadczą o szyfrowaniu. Adres IP serwera to tylko jego numer w sieci - strona pod dowolnym IP może być szyfrowana lub nie. Nazwa serwera również nic nie mówi o ochronie transmisji. Szyfrowane, zweryfikowane połączenie HTTPS sygnalizuje ikona kłódki przy adresie https://, dlatego to ona jest poprawna.

Pytanie 35

Który operator w PHP oznacza sumę logiczną (logiczne LUB)?

A.
!
B.
||
C.
&&
D.
+
Sumę logiczną (logiczne LUB) zapisuje się w PHP operatorem || - wyrażenie jest prawdziwe, gdy CHOĆ JEDEN warunek jest spełniony, np. ($wiek < 7) || ($wiek > 65). Działa „leniwie”: jeśli pierwszy warunek jest prawdą, drugiego już nie sprawdza. Zapamiętaj: || to „lub” (wystarczy jeden), a && to „i” (oba naraz).

Pytanie 36

Ile razy zostanie wykonana pętla napisana w języku PHP, przy założeniu, że zmienna kontrolna nie jest zmieniana w trakcie działania pętli?
for ($i = 0; $i <= 10; $i+=2) { .... }

A. 5
B. 0
C. 6
D. 10
Wybór błędnych odpowiedzi wynika z nieprawidłowego zrozumienia działania pętli for oraz sposobu, w jaki zostają liczone iteracje. Odpowiedzi takie jak 0, 5 czy 10 są oparte na mylących założeniach. Na przykład, odpowiedzi 0 i 10 mogą sugerować, że pętla nie wykonuje żadnych iteracji lub, że wykonuje ich zbyt wiele, co jest sprzeczne z rzeczywistością. Pętla for, jak w tym przypadku, zaczyna od 0 i kończy na 10, a krok wynosi 2. Zmiana wartości $i przy każdym przejściu pętli jest kluczowym elementem do zrozumienia. Jeśli więc zmienna nie jest zmieniana, nie osiągnie ona wartości końcowej prawidłowo. Typowym błędem jest także myślenie o warunkach w sposób nieprecyzyjny; w tym wypadku warunek $i <= 10 jest spełniony dla wartości 10, co może mylić. W praktyce, programiści powinni zawsze dokładnie analizować zakres iteracji, aby uniknąć błędnych założeń. To zrozumienie jest fundamentalne, aby pisać wydajny i bezpieczny kod, stosując się do najlepszych praktyk programistycznych.

Pytanie 37

Ograniczanie dostępu do niektórych pól lub metod obiektów danej klasy, tak aby mogły być one wykorzystywane wyłącznie przez wewnętrzne metody tej klasy lub funkcje zaprzyjaźnione, to

A. polimorfizm
B. hermetyzacja
C. konkatenacja
D. dziedziczenie
Dziedziczenie to mechanizm, który pozwala na tworzenie nowych klas na podstawie już istniejących, co umożliwia ponowne wykorzystanie kodu i wprowadzanie hierarchii w projektach, jednak nie ma nic wspólnego z ukrywaniem pól i metod. W dziedziczeniu, klasy pochodne dziedziczą właściwości i metody klas bazowych, co sprawia, że możliwe jest ich wykorzystanie, a nie ukrycie. Kolejną koncepcją jest konkatenacja, która w kontekście programowania nie odnosi się do hermetyzacji, lecz do łączenia ciągów tekstowych, co nie ma zastosowania przy ukrywaniu danych w klasach. Polimorfizm natomiast to zdolność obiektów do przyjmowania wielu form, co jest związane z interfejsami i dziedziczeniem, ale również nie dotyczy hermetyzacji. Typowym błędem myślowym jest mylenie tych pojęć z hermetyzacją, ponieważ wszystkie one są fundamentami programowania obiektowego, lecz służą różnym celom. Zrozumienie tego rozróżnienia jest istotne dla prawidłowego stosowania technik programistycznych i wdrażania efektywnych rozwiązań w praktyce.

Pytanie 38

Aby nadać użytkownikowi uprawnienia do tabel w bazie danych, należy zastosować polecenie:

A.
REVOKE
B.
CREATE
C.
SELECT
D.
GRANT
Uprawnienia do tabel nadaje się poleceniem GRANT. Należy ono do języka kontroli danych DCL, który decyduje, kto i co może robić w bazie. Budowa polecenia jest czytelna: po GRANT wymieniasz rodzaje uprawnień, po ON wskazujesz tabelę, a po TO - użytkownika, na przykład GRANT SELECT, INSERT ON klienci TO jan. Dzięki temu administrator precyzyjnie ustala, kto ma dostęp do danych i jakie operacje może na nich wykonać. Poleceniem odwrotnym, które cofa przyznane prawa, jest REVOKE.

Pytanie 39

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
B. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
C. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
D. skorzystanie z narzędzia do walidacji kodu HTML
Wykorzystywanie walidatora języka HTML do testowania witryny w różnych przeglądarkach nie jest wystarczającą metodą. Walidatory są narzędziami, które sprawdzają poprawność kodu HTML pod kątem zgodności ze standardami W3C, ale nie oceniają, jak rzeczywiście strona będzie działać w różnych przeglądarkach. Możliwe jest, że strona przejdzie test walidacji, ale w rzeczywistości może wyświetlać się inaczej w różnych przeglądarkach z powodu różnych silników renderujących. Instalowanie różnych przeglądarek na wielu komputerach również nie jest efektywnym rozwiązaniem, gdyż wymaga znacznych nakładów czasu i zasobów, a także trudności w utrzymaniu aktualizacji i wersji. Testowanie jedynie w programie Internet Explorer, zakładając, że inne przeglądarki będą działać podobnie, jest mylne, gdyż różnice w implementacji standardów HTML, CSS i JavaScript w różnych przeglądarkach mogą prowadzić do nieoczekiwanych błędów. Takie podejście może skutkować poważnymi problemami z użytecznością, a także obniżyć jakość doświadczenia użytkownika. Istnieje zatem ryzyko, że aplikacja webowa nie będzie działać prawidłowo na kluczowych platformach, co w dzisiejszym zróżnicowanym środowisku przeglądarek stanowi istotne zagrożenie dla reputacji i funkcjonalności witryny.

Pytanie 40

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. Perl
B. JavaScript
C. PHP
D. C#
Odpowiedź PHP jest prawidłowa, ponieważ $_COOKIE i $_SESSION to superglobalne tablice w tym języku, które są wykorzystywane do zarządzania danymi sesyjnymi oraz ciasteczkami. $_COOKIE umożliwia przechowywanie danych na komputerze użytkownika w formie ciasteczek, które mogą być odczytywane przez serwer przy każdym żądaniu. Ciasteczka mogą być używane do identyfikacji użytkownika, zapamiętywania preferencji lub sesji. Przykładowe zastosowanie to np. pamiętanie, czy użytkownik jest zalogowany oraz jakie preferencje dotyczące wyświetlania treści ustawił. Z kolei $_SESSION jest używane do przechowywania danych sesji na serwerze, co zapewnia większe bezpieczeństwo, ponieważ dane nie są również dostępne po stronie klienta. Przykładem zastosowania $_SESSION jest przechowywanie informacji o użytkowniku, takich jak jego identyfikator, które mogą być używane do autoryzacji w różnych częściach aplikacji. W obu przypadkach, przy użyciu tych mechanizmów, programiści muszą pamiętać o optymalizacji wydajności oraz przestrzeganiu zasad ochrony prywatności użytkowników, co jest kluczowe w kontekście aktualnych regulacji dotyczących danych osobowych.