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 16:11
  • Data zakończenia: 8 czerwca 2026 16:36

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

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

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

A. porównywania dwóch tekstów i zwracania ich wspólnej części
B. redukcji tekstu o zdefiniowaną w parametrze liczbę znaków
C. usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
D. określenia długości tekstu
Funkcja trim w języku PHP jest niezwykle przydatnym narzędziem, które ma na celu usuwanie białych znaków oraz innych określonych znaków z obu końców łańcucha tekstowego. Przykład użycia tej funkcji może być obserwowany w sytuacjach, gdy użytkownik wprowadza dane do formularza, gdzie często zdarza się, że na początku lub końcu tekstu pojawiają się zbędne spacje. Można to zignorować, ale może to prowadzić do problemów z walidacją danych, porównywaniem łańcuchów czy wstawianiem do bazy danych. Użycie funkcji trim pozwala więc na zachowanie czystości danych i ich lepsze przetwarzanie. Jako dobra praktyka, zawsze warto stosować trim przed dalszym przetwarzaniem tekstów w celu eliminacji potencjalnych błędów. Dodatkowo, funkcja trim może przyjmować drugi parametr, który pozwala na określenie, jakie znaki mają być usuwane. To zwiększa jej elastyczność w różnorodnych kontekstach aplikacji webowych, umożliwiając np. usuwanie niechcianych znaków z danych wejściowych.

Pytanie 2

Tabela programy zawiera kolumny: nazwa_programu, nazwa_producenta, rok_wydania. Jak należy zapisać kwerendę SELECT, aby uzyskać wszystkie unikalne nazwy producentów?

A. SELECT UNIQUE nazwa_producenta FROM programy
B. SELECT nazwa_producenta FROM programy WHERE UNIQUE
C. SELECT DISTINCT nazwa_producenta FROM programy
D. SELECT nazwa_producenta FROM programy WHERE nazwa_producenta NOT DUPLICATE
Odpowiedzi, które wykorzystują terminologię niezgodną ze standardami SQL, prowadzą do błędnych wniosków. W przypadku użycia słowa kluczowego UNIQUE, które nie jest używane w kontekście kwerendy SELECT, użytkownicy mogą błędnie sądzić, że powiązanie z tym terminem umożliwia pozyskanie unikalnych wartości. W rzeczywistości UNIQUE jest używane w kontekście ograniczeń (constraints) w definiowaniu tabeli, a nie w zapytaniach. To podejście może prowadzić do zrozumienia, że istnieje sposób na wykorzystanie tego słowa kluczowego w zapytaniach, co jest mylące. Z kolei propozycje, które odwołują się do frazy WHERE z dodatkowymi warunkami, jak UNIQUE czy NOT DUPLICATE, są również niepoprawne, ponieważ nie są to poprawne składniowo konstrukcje w SQL. Klauzula WHERE służy do filtrowania wyników na podstawie określonych warunków, ale nie ma możliwości zastosowania przy niej unikalnych filtrów w taki sposób. Tego rodzaju nieporozumienia mogą prowadzić do niepoprawnych wyników i frustracji w pracy z bazami danych, dlatego niezwykle ważne jest, aby dokładnie zapoznawać się z dokumentacją i standardami języka SQL, aby unikać takich pułapek. Właściwe zrozumienie terminologii i składni jest kluczowe w efektywnym zarządzaniu danymi.

Pytanie 3

Funkcja drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver ma na celu

A. przygotowanie szablonu witryny internetowej
B. prezentowanie interaktywnej struktury drzewa HTML dla treści statycznych i dynamicznych
C. stylizację tekstu za pomocą dostępnych znaczników
D. określenie kaskadowych arkuszy stylów przypisanych do strony
Drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver jest narzędziem, które umożliwia wizualne przedstawienie struktury HTML dokumentu. Użytkownicy mogą za jego pomocą łatwo nawigować po elementach strony, zarówno tych statycznych, jak i dynamicznych. Tego typu rozwiązanie jest nieocenione w procesie projektowania strony internetowej, ponieważ pozwala programistom na szybkie zrozumienie hierarchii elementów, co jest kluczowe dla efektywnego zarządzania kodem. Na przykład, podczas tworzenia złożonych stron internetowych z wieloma sekcjami, drzewa kontekstowe ułatwiają identyfikację i modyfikację poszczególnych komponentów, co może przyspieszyć proces tworzenia oraz debugowania. Dodatkowo, przestrzeganie dobrych praktyk, takich jak stosowanie semantycznych znaczników HTML i odpowiedniego formatowania kodu, może poprawić dostępność i SEO strony, co jest szczególnie ważne w kontekście konkurencji w internecie.

Pytanie 4

Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?

A. transakcji
B. klucza podstawowego
C. relacji jeden-do-wielu (1..n)
D. relacji jeden-do-jednego (1..1)
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.

Pytanie 5

W języku JavaScript zdefiniowano obiekt

obiekt = { q: 1, w: 2, e: 3, r: 4 };
W jaki sposób można uzyskać wartość właściwości
w
?
A. obiekt:w
B. obiekt.w
C. obiekt::w
D. obiekt->w
Aby uzyskać dostęp do wartości własności obiektu w JavaScript, stosuje się notację kropkową. Odpowiedź obiekt.w jest poprawna, ponieważ w JavaScript, odwołując się do właściwości obiektu, używamy kropki jako separatora między nazwą obiektu a nazwą właściwości. W podanym przykładzie obiekt ma cztery właściwości: q, w, e oraz r, z których każda ma przypisaną wartość. Używając notacji obiekt.w, możemy bezpośrednio uzyskać wartość 2, która jest przypisana do właściwości w. W praktyce, notacja kropkowa jest powszechnie stosowana i jest preferowaną metodą dostępu do właściwości obiektów, ponieważ jest bardziej czytelna i łatwiejsza w użyciu. Alternatywnie, można również użyć notacji nawiasowej, jak obiekt['w'], co może być przydatne, gdy nazwa właściwości zawiera znaki niedozwolone w identyfikatorach, ale w większości przypadków notacja kropkowa jest bardziej ergonomiczna i zalecana zgodnie z dobrymi praktykami programowania.

Pytanie 6

Co wykonuje poniższy fragment kodu w JavaScript?

n = "Napis1";
s = n.length;
A. Przypisze zmiennej s wartość, która odpowiada długości tekstu ze zmiennej n
B. Wyświetli długość tekstu ze zmiennej n
C. Przypisze zmiennej s fragment tekstu ze zmiennej n, o długości określonej przez zmienną length
D. Przypisze zmienną n do zmiennej s
Analizując błędne odpowiedzi można zauważyć kilka typowych nieporozumień związanych z właściwością length w JavaScript. Pierwszym z nich jest mylne założenie że length służy do wycinania fragmentu napisu co sugeruje odpowiedź o przypisaniu zmiennej s fragmentu napisu. W rzeczywistości length to właściwość która zwraca liczbę elementów w stringu a nie jego część. Aby wyciąć fragment stringa należy użyć metod takich jak slice lub substring które są przeznaczone do tego celu. Kolejne nieporozumienie polega na traktowaniu length jako funkcji która wyświetla długość napisu. Właściwość length po prostu zwraca wartość dlatego jeśli chcemy ją wyświetlić musimy użyć dodatkowych konstrukcji takich jak console.log w środowisku programistycznym przeglądarki. Następne potencjalne nieporozumienie związane jest z przypisaniem zmiennej n do zmiennej s. Bezpośrednie przypisanie całego stringa do innej zmiennej wymagałoby użycia operatora przypisania (=) bez kontekstu length. Takie błędne rozumowanie często wynika z nieuwagi lub braku doświadczenia w pracy z właściwościami obiektów w JavaScript. Programując w tym języku warto pamiętać że każda właściwość i metoda ma swoje konkretne zastosowanie i przeznaczenie stąd znajomość ich specyfiki jest kluczowa dla efektywnego kodowania. Dzięki tej wiedzy programista może unikać typowych pułapek i optymalizować procesy przetwarzania danych co jest szczególnie istotne w kontekście aplikacji webowych rozwijanych w JavaScript.

Pytanie 7

Działaniem podanego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x) {
    if ($x < 0) {
        echo "$x ";
    }
}
A. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
B. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
C. kolejnymi liczbami od 0 do 9 i ich wypisanie
D. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich
Zakładając, że odpowiedzi są błędne, warto zwrócić uwagę na kilka aspektów. Pierwsza z błędnych odpowiedzi sugeruje, że tablica jest wypełniana kolejnymi liczbami od 0 do 9, co jest niezgodne z zamysłem kodu, gdzie wykorzystywana jest funkcja losująca 'rand', a nie sekwencyjne przypisywanie wartości. W efekcie zamiast wartości od 0 do 9, mamy do czynienia z liczbami losowymi z szerokiego zakresu. Ponadto, druga odpowiedź błędnie interpretuje, że tablica zawiera liczby od -100 do 100. Mimo że możliwe jest, aby tablica zawierała takie liczby, kod nie wypełnia jej w sposób sekwencyjny i nie gwarantuje, że wszystkie wartości będą ujemne. Ostatnia błędna odpowiedź odnosi się do 100 losowych wartości, co również jest niepoprawne, ponieważ w kodzie jedynie 10 losowych wartości jest generowanych i zapisywanych w tablicy. Wreszcie, kod koncentruje się na wypisywaniu wartości ujemnych, dlatego odpowiedzi dotyczące wartości dodatnich są również mylące. Nie można zatem mówić o sytuacji, w której wartości dodatnie są wypisywane, co podkreśla, że analiza i interpretacja kodu są kluczowe dla zrozumienia jego działania.

Pytanie 8

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

A. stworzyć nową tabelę
B. usunąć tabelę
C. zmienić strukturę tabeli
D. dodać dane do 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 9

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. każdemu odnośnikowi bez względu na jego bieżący stan
B. wszystkim odnośnikom, które były wcześniej odwiedzane
C. wszystkim odnośnikom, które nie były odwiedzane
D. odnośnikowi, gdy kursor myszy na niego najedzie
Pseudoklasa hover jest jedną z najczęściej używanych pseudoklas w CSS stosowaną do stylizacji elementów HTML w momencie, gdy użytkownik najeżdża kursorem myszy na dany element. W podanym przykładzie kodu CSS zastosowano pseudoklasę hover dla elementów a czyli odnośników. Oznacza to, że gdy kursor myszy znajdzie się nad jakimkolwiek odnośnikiem, jego styl zmieni się na pogrubiony dzięki właściwości font-weight: bold. Jest to bardzo przydatne w interaktywnej stylizacji stron internetowych, ponieważ pozwala użytkownikom na wizualne odróżnienie elementów, z którymi mogą wchodzić w interakcję. Praktycznym zastosowaniem tej pseudoklasy jest zwiększenie użyteczności i estetyki strony poprzez subtelne wskazanie elementów interaktywnych, takich jak menu nawigacyjne czy linki w treści. Warto pamiętać o zachowaniu spójności stylizacji dla wszystkich stanów odnośników, co jest zalecane jako dobra praktyka w projektowaniu responsywnych interfejsów użytkownika. Pseudoklasa hover, jako część kaskadowego arkusza stylów, pozwala na dynamiczną interakcję z elementami strony, co znacząco wpływa na doświadczenia użytkownika.

Pytanie 10

Głównym celem systemu CMS jest oddzielenie treści serwisu informacyjnego od jego wizualnej formy. Ten efekt osiągany jest przez generowanie zawartości

A. z bazy danych oraz wizualizacji poprzez atrybuty HTML
B. z plików HTML o stałej zawartości oraz wizualizacji przy pomocy technologii FLASH
C. z plików HTML o stałej zawartości oraz wizualizacji z użyciem ustalonego szablonu
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Poprawna odpowiedź na to pytanie to "z bazy danych oraz wyglądu ze zdefiniowanego szablonu". Systemy CMS (Content Management System) mają na celu oddzielenie treści od prezentacji, co pozwala na łatwiejsze zarządzanie i aktualizowanie zawartości serwisu. Wykorzystanie bazy danych do przechowywania treści jest kluczowe, ponieważ umożliwia dynamiczne generowanie zawartości na stronach internetowych. Dzięki temu, gdy zmienia się treść w bazie danych, zmiany te są automatycznie odzwierciedlane na stronie bez potrzeby modyfikacji statycznych plików HTML. Szablony, które definiują wygląd, są również niezmiernie ważne, ponieważ pozwalają na spójność wizualną serwisu i jego łatwą adaptację w przypadku zmian w designie. Przykładem może być użycie systemu szablonów, takiego jak Twig w Symfony, który umożliwia separację logiki biznesowej od prezentacji, co ułatwia pracę developerom i designerom. Takie podejście jest zgodne z najlepszymi praktykami w branży, zapewniając przy tym elastyczność i skalowalność serwisów internetowych.

Pytanie 11

Co można powiedzieć o przedstawionym zapisie języka HTML5?

<title>Strona o psach</title>
A. Pojawi się na karcie dokumentu w przeglądarce.
B. Jest jedynie informacją dla robotów wyszukiwarek i nie jest wyświetlany przez przeglądarkę.
C. Zostanie wyświetlony w treści strony, na samej górze.
D. Jest opcjonalny w języku HTML5 i nie musi występować w dokumencie.
Brawo, Twoja odpowiedź jest prawidłowa! Znacznikiw języku HTML 5 służy do określenia tytułu strony internetowej, który jest wyświetlany na karcie przeglądarki. Nie jest to opcjonalna informacja - każda strona powinna mieć tytuł dla lepszej identyfikacji i optymalizacji SEO (Search Engine Optimization). Tytuł strony jest jednym z kluczowych elementów dla SEO, ponieważ wyszukiwarki internetowe, takie jak Google, często wykorzystują tytuł strony jako główny link w wynikach wyszukiwania. Tytuł strony jest również ważny z punktu widzenia użytkownika - dobrze sformułowany tytuł może przyciągnąć uwagę potencjalnego odbiorcy i zachęcić go do odwiedzenia strony. Warto zauważyć, że tytuł nie jest wyświetlany bezpośrednio na stronie, ale na pasku tytułu przeglądarki lub na karcie strony. To ważne rozróżnienie pomaga zrozumieć, dlaczego niektóre elementy są widoczne dla użytkownika, a inne nie.

Pytanie 12

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. serwera bazy danych
B. folderu sieciowego
C. witryny programu SharePoint
D. dzielonej bazy danych
Wybór innych opcji, takich jak serwer bazy danych, dzielona baza danych czy witryna programu SharePoint, może prowadzić do nieporozumień na temat tego, jak działają mechanizmy udostępniania w Microsoft Access. Serwer bazy danych, na przykład, odnosi się do systemu zarządzania bazami danych, który obsługuje skomplikowane operacje i dużą ilość danych, ale nie jest tożsamy z lokalizacją danych na dysku sieciowym, co ogranicza jego zastosowanie w prostych zespołowych projektach. Z kolei dzielona baza danych to termin ogólny, który może być mylony z udostępnianiem danych na poziomie lokalnym lub zdalnym, ale nie precyzuje, jak obiekty są współdzielone przez użytkowników. Witryna programu SharePoint z kolei służy do przechowywania dokumentów i zarządzania projektami w chmurze, co jest innym podejściem niż tradycyjne foldery sieciowe. W praktyce, wybierając folder sieciowy, użytkownicy mogą łatwiej współpracować, dzielić się plikami i korzystać z prostoty, jaką zapewnia dostęp bez konieczności zaawansowanego konfigurowania serwerów czy baz danych. Kluczowe jest zrozumienie, że odpowiednie podejście do udostępniania danych powinno być zgodne z potrzebami zespołu i charakterem realizowanych projektów.

Pytanie 13

Znaczniki HTML <strong> oraz <em>, które mają na celu podkreślenie istotności tekstu, pod względem formatowania odpowiadają znacznikom

A. <i> oraz <mark>
B. <b> oraz <i>
C. <b> oraz <u>
D. <u> oraz <sup>
Znaczniki HTML <strong> oraz <em> mają kluczowe znaczenie w kontekście semantyki i formatowania tekstu w dokumentach HTML. Znacznik <strong> wskazuje na tekst o zwiększonej ważności, co jest zgodne z jego domyślnym formatowaniem, które w większości przeglądarek wyświetla tekst pogrubiony. Z kolei znacznik <em> sugeruje tekst, który powinien być akcentowany w odpowiedni sposób, a jego domyślne formatowanie to kursywa. W związku z tym, ich odpowiednikami pod względem formatowania są znaczniki <b> oraz <i>. Znacznik <b> służy do pogrubienia tekstu, ale nie niesie ze sobą żadnej dodatkowej semantyki, natomiast <i> używany jest do kursywy bez wskazania na ważność. W praktyce, należy używać <strong> i <em> tam, gdzie semantyka jest kluczowa dla zrozumienia treści, a dodatkowe znaczenie przekłada się na lepsze pozycjonowanie w wyszukiwarkach oraz dostępność dla osób korzystających z technologii asystujących. Ważne jest, by przestrzegać dobrych praktyk webowych i stosować znaczniki semantyczne, co pozwoli na efektywne przekazywanie informacji zarówno użytkownikom, jak i robotom indeksującym.

Pytanie 14

Kod CSS można włączyć do dokumentu HTML, używając znacznika

A. <meta>
B. <style>
C. <body>
D. <head>
Wybór znaczników <head>, <meta> lub <body> jako miejsca do umieszczania kodu CSS jest nieprawidłowy z kilku powodów. Znacznik <head> jest przestrzenią przeznaczoną do przechowywania metadanych i odniesień do zasobów zewnętrznych, takich jak pliki CSS, a nie do bezpośredniego osadzania stylów. Chociaż można w nim umieszczać inne znaczniki, takie jak <style>, nie jest to jego podstawowe przeznaczenie. Znacznik <meta> służy do definiowania metadanych dokumentu, takich jak zestaw znaków, informacje o autorze czy opis strony, co również nie ma związku z osadzaniem stylów CSS. Z tego powodu umieszczanie kodu CSS w <meta> jest nieodpowiednie. Znacznik <body> jest przeznaczony do zawartości strony, która ma być wyświetlana użytkownikowi, a nie do definiowania stylów. Umieszczenie kodu CSS w <body> może prowadzić do chaosu w organizacji kodu oraz obniżenia wydajności, gdyż przeglądarki muszą analizować style po renderowaniu treści. Kluczowe błędy myślowe w takich wyborach wynikają z nieporozumienia na temat funkcji poszczególnych znaczników HTML oraz ich roli w renderowaniu strony internetowej. Właściwe stosowanie znaczników i standardów webowych jest fundamentem efektywnego projektowania stron, co podkreśla znaczenie edukacji w tym zakresie.

Pytanie 15

Który obiekt bazy danych z graficznym interfejsem służy do wprowadzania danych?

A. raport
B. encja
C. kwerenda
D. formularz
Pozostałe obiekty pełnią inne role. Raport służy do PREZENTACJI i wydruku danych, kwerenda do wyszukiwania i filtrowania, a encja to pojęcie modelu danych, a nie obiekt z interfejsem. Wprowadzanie danych umożliwia formularz.

Pytanie 16

W języku JavaScript trzeba sformułować warunek, który będzie spełniony, gdy zmienna a będzie dowolną liczbą naturalną dodatnią (więcej niż 0) lub gdy zmienna b będzie dowolną liczbą z przedziału domkniętego od 10 do 100. Wyrażenie logiczne w tym warunku powinno mieć postać

A. (a > 0) && ((b >= 10) && (b <= 100))
B. (a > 0) || ((b >= 10) || (b <= 100))
C. (a > 0) || ((b >= 10) && (b <= 100))
D. (a > 0) && ((b >= 10) || (b <= 100))
Pierwsza odpowiedź (a > 0) && ((b >= 10) && (b <= 100)) opiera się na błędnym założeniu, że oba warunki muszą być spełnione jednocześnie, co jest sprzeczne z wymaganiami. W kontekście tego pytania, aby warunek był prawdziwy, wystarczy, że przynajmniej jeden z podanych warunków będzie spełniony. To podejście prowadzi do niepotrzebnej ścisłości, ograniczając funkcjonalność programu. Druga odpowiedź (a > 0) && ((b >= 10) || (b <= 100)) również jest myląca; operator logiczny '||' w kontekście zmiennej b sugeruje, że b może być mniejsze niż 10 lub większe niż 100, co nie spełnia wymagań, które określają, że b musi być w przedziale 10-100. Trzecia odpowiedź (a > 0) || ((b >= 10) || (b <= 100)) wprowadza dodatkowe zamieszanie, ponieważ druga część warunku znowu nie wymusza, aby b znajdowało się w odpowiednim zakresie. Przypadki takie jak te wskazują na typowe błędy logiczne, gdzie programiści mogą mylnie interpretować potrzeby warunku, co skutkuje błędami w kodzie. Kluczowe jest zrozumienie, jak działają operatory logiczne oraz jakie są ich konsekwencje w kontekście projektowania warunków. Właściwe użycie operatorów jest fundamentem skutecznego programowania, a unikanie takich pułapek jest kluczowe dla tworzenia stabilnych aplikacji.

Pytanie 17

Aby uzyskać informacje o środowisku pracy serwera obsługującego PHP, należy skorzystać z funkcji

A.
php()
B.
phpinformation()
C.
phpinfo()
D.
phpgetinfo()
Funkcja phpinfo() po wywołaniu generuje gotową stronę z kompletem informacji o środowisku, w którym działa PHP. Znajdziesz tam wersję interpretera, listę załadowanych rozszerzeń, aktywne ustawienia z pliku php.ini, ścieżki i zmienne środowiskowe oraz dane o serwerze HTTP. Dzięki temu szybko sprawdzisz, czy potrzebny moduł jest dostępny i jak skonfigurowane jest środowisko - to podstawowe narzędzie diagnostyczne przy wdrażaniu i uruchamianiu aplikacji. Wystarczy umieścić w skrypcie wywołanie tej funkcji i otworzyć stronę w przeglądarce. Pamiętaj jednak, by nie zostawiać takiego pliku na działającym serwerze publicznie - ujawnia on szczegóły konfiguracji, które mogą pomóc atakującemu.

Pytanie 18

Jakie polecenie pozwala na zwiększenie wartości o jeden w kolumnie RokStudiów w tabeli Studenci dla uczniów, którzy są na roku 1÷4?

A. UPDATE Studenci, RokStudiow+1 WHERE RokStudiow < 5
B. UPDATE Studenci SET RokStudiow WHERE RokStudiow < 5
C. UPDATE RokStudiow SET RokStudiow++ WHERE RokStudiow < 5
D. UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5
Odpowiedź 'UPDATE Studenci SET RokStudiow = RokStudiow+1 WHERE RokStudiow < 5;' jest prawidłowa, ponieważ poprawnie wykorzystuje składnię SQL do aktualizacji wartości w tabeli. W tym przypadku, polecenie zmienia wartość kolumny RokStudiow o jeden dla wszystkich studentów, którzy mają przypisany rok studiów mniejszy niż 5. Użycie 'SET RokStudiow = RokStudiow+1' jest zgodne z zasadą aktualizacji danych, gdzie przypisanie nowej wartości korzysta z obecnej wartości i modyfikuje ją. W praktyce, takie operacje są niezbędne w systemach zarządzania bazami danych, zwłaszcza w kontekście obliczeń związanych z postępem akademickim studentów, a przestrzeganie standardów SQL pomaga w utrzymaniu spójności i integralności danych. Dobrą praktyką jest również wykonanie operacji aktualizacji w sposób, który minimalizuje ryzyko utraty danych oraz zwiększa efektywność zapytań, co jest istotne w dużych bazach danych.

Pytanie 19

Aby zapisać prostą animację na potrzeby strony internetowej, można skorzystać z formatu:

A. JPG
B. GIF
C. CDR
D. PNG
Trzy pozostałe formaty nie nadają się do animacji, bo każdy służy do czegoś innego. JPG to format jednego obrazu z kompresją stratną - świetny do zdjęć, ale przechowuje tylko jedną, nieruchomą klatkę. Klasyczny PNG również zapisuje pojedynczy obraz; jego atutem jest przezroczystość i bezstratność, lecz animacji standardowo nie obsługuje. CDR to z kolei format projektów wektorowych programu CorelDRAW, przeznaczony do grafiki do dalszej edycji, a nie do publikacji ruchomych obrazków na stronie. Prostą animację złożoną z wielu klatek przechowuje format GIF i to on jest poprawną odpowiedzią.

Pytanie 20

Jaką wartość przyjmie zmienna po wykonaniu poniższego fragmentu kodu w JavaScript?

var w=0;
var i=1;
for (i = 1; i < 50; i++)
{
    if (i%2 == 0)
        w += i;
}
A. liczbom naturalnym, które są nieparzyste i mniejsze od 50
B. suma naturalnych liczb parzystych, które są mniejsze od 50
C. suma wszystkich naturalnych liczb nieparzystych, które są większe od 50
D. liczbie naturalnych liczb parzystych większych od 50
Kod przedstawiony w pytaniu jest fragmentem programu JavaScript, który ma za zadanie zsumować wszystkie liczby parzyste mniejsze od 50. Początkowo zmienna w jest ustawiona na 0 i reprezentuje sumę, którą będziemy obliczać. Pętla for zaczyna się od i=1 i iteruje do i<50 zwiększając wartość i o 1 w każdej iteracji. Wewnątrz pętli znajduje się instrukcja warunkowa if, która sprawdza, czy liczba i jest parzysta, co oznacza, że jej reszta z dzielenia przez 2 wynosi 0. Jeśli warunek jest spełniony, liczba i jest dodawana do zmiennej w. W efekcie po zakończeniu pętli zmienna w zawiera sumę wszystkich parzystych liczb mniejszych niż 50. Przykładem praktycznego zastosowania takiego algorytmu może być sytuacja, w której musimy szybko obliczyć sumę określonego zbioru liczb spełniających dane kryterium, co jest częste w analizie danych lub generowaniu raportów. Konstrukcje takie jak pętla for i operator modulo są podstawowymi narzędziami w programowaniu, pozwalającymi na efektywne przetwarzanie danych i automatyzację złożonych operacji obliczeniowych, co jest zgodne z dobrymi praktykami w branży IT.

Pytanie 21

Jakie polecenie należy zastosować, aby w trakcie tworzenia tabeli dodać klucz obcy obejmujący wiele kolumn?

A. CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
B. CONSTRAINT fk_osoba_uczen FOREIGN KEY ON (nazwisko, imie) REFERENCES osoby (nazwisko,imie)
C. CONSTRAINT(nazwisko,imie) FOREIGN KEY REFERENCES osoby (nazwisko, imie)
D. CONSTRAINT(nazwisko,imie) FOREIGN REFERENCES KEY osoby (nazwisko, imie)
Odpowiedź 'CONSTRAINT fk_osoba_uczen FOREIGN KEY (nazwisko, imie) REFERENCES osoby (nazwisko,imie)' jest poprawna, ponieważ poprawnie definiuje klucz obcy na wielu kolumnach. Klucz obcy jest używany do ustanawiania relacji między tabelami, co jest kluczowe w modelowaniu danych w relacyjnych bazach danych. W tym przypadku, 'fk_osoba_uczen' to nazwa ograniczenia, która pozwala na łatwe identyfikowanie klucza obcego w przyszłości. Wskazanie wielu kolumn w nawiasach po słowie kluczowym 'FOREIGN KEY' jasno określa, które kolumny tworzą klucz obcy w tabeli, podczas gdy 'REFERENCES osoby (nazwisko, imie)' precyzuje, że te kolumny odnoszą się do kolumn w tabeli 'osoby'. Tego rodzaju konstrukcja jest zgodna ze standardami SQL i dobrymi praktykami, ponieważ umożliwia zachowanie integralności danych oraz zapewnia spójność między związaną tabelą a tabelą główną. Przykładowo, gdy mamy rekordy ucznia i chcemy, aby każdy uczeń był powiązany z jego rodzicem w tabeli 'osoby', dobrze zdefiniowany klucz obcy z użyciem wielu kolumn zapobiegnie wprowadzeniu nieprawidłowych danych. Zastosowanie tej techniki ułatwia także późniejsze zapytania do bazy danych oraz zapewnia lepszą organizację danych.

Pytanie 22

Który zbiór znaczników, określających projekt strony internetowej w sposób semantyczny, jest zgodny z normą HTML 5?

Ilustracja do pytania
A. Zbiór 3
B. Zbiór 1
C. Zbiór 2
D. Zbiór 4
Zrozumienie semantyki HTML jest kluczowe dla tworzenia zoptymalizowanych stron internetowych, a wybór odpowiednich znaczników ma duży wpływ na strukturę i dostępność dokumentu. W niepoprawnych odpowiedziach brak jest semantycznej spójności z założeniami HTML5. Wykaz 1 używa <article> w Bloku 2, co oznaczałoby samodzielną jednostkę, np. wpis na blogu lub artykuł prasowy, co nie jest odpowiednie w kontekście głównej treści strony. Wykaz 2 używa <div>, co jest niezalecane, gdyż divy są ogólnymi kontenerami, a HTML5 promuje użycie bardziej szczegółowych znaczników semantycznych. Wykaz 3 zastosował <main> dwukrotnie, co jest błędem, ponieważ <main> powinien być użyty tylko raz na stronie, jako główny element zawartości. Pominięcie znaczników takich jak <aside> lub <header> w odpowiednich miejscach zubaża strukturę dokumentu, co wpływa negatywnie na SEO i dostępność. Zasady semantyczności w HTML5 mają na celu ułatwienie interpretacji kodu zarówno przez przeglądarki, jak i przez urządzenia wspomagające, co jest kluczowe w nowoczesnym projektowaniu stron internetowych. Właściwe oznaczenie elementów strony pozwala na lepszą organizację treści i ułatwia nawigację, co jest ważne dla użytkowników i wyszukiwarek internetowych.

Pytanie 23

Który z przedstawionych rysunków ilustruje efekt działania zamieszczonego fragmentu kodu HTML?

Ilustracja do pytania
A. rys. C
B. rys. D
C. rys. B
D. rys. A
Odpowiedź rys. C jest prawidłowa, ponieważ kod HTML przedstawia tabelę z dwiema komórkami w pierwszym wierszu, gdzie pierwsza komórka ma atrybut rowspan o wartości 2. Oznacza to, że komórka ta rozciąga się na dwa wiersze. Efektem tego jest układ, w którym pierwszy element znajduje się w jednej kolumnie ale zajmuje miejsce w dwóch wierszach. Pozostałe komórki są umieszczone zgodnie z kolejnością ich definicji w kodzie. W praktyce rowspan jest często używany do tworzenia bardziej złożonych układów tabeli, gdzie potrzebne jest łączenie komórek w pionie. Jest to ważne w kontekście dostępności i czytelności danych, szczególnie przy prezentacji skomplikowanych zestawień. Stosowanie rowspan powinno być dobrze przemyślane i zgodne z semantyką HTML ułatwiając interpretację danych przez przeglądarki i technologie wspomagające. Ważne jest także, aby używać tabel zgodnie z ich przeznaczeniem czyli do prezentacji danych tabelarycznych a nie do tworzenia layoutu strony co jest uznawane za złą praktykę od czasu wprowadzenia CSS

Pytanie 24

Aby poprawnie zdefiniować hierarchiczną strukturę tekstu na stronie internetowej, należy zastosować:

A. znaczniki <frame> i <table>
B. znacznik <div>
C. znaczniki <h1>, <h2> oraz <p>
D. znacznik <p> z formatowaniem
Hierarchię tekstu na stronie budują znaczniki nagłówków <h1> do <h6>, gdzie <h1> to tytuł najważniejszy, a kolejne poziomy oznaczają sekcje i podsekcje. Przeglądarka, wyszukiwarki i czytniki ekranu odczytują z nich plan dokumentu, dlatego nagłówków używa się zgodnie ze znaczeniem, a nie dla samego wyglądu. Akapity <p> uzupełniają tę strukturę właściwą treścią. Taki układ poprawia czytelność, dostępność i pozycjonowanie strony - i właśnie dlatego poprawna odpowiedź łączy nagłówki z akapitem.

Pytanie 25

Który zapis to poprawna definicja funkcji w JavaScript?

A.
function nazwa_funkcji(argumenty) { instrukcje; }
B.
typ_funkcji nazwa_funkcji(argumenty) { instrukcje; }
C.
nazwa_funkcji(argumenty) { instrukcje; }
D.
new nazwa_funkcji(argumenty) { instrukcje; }
Funkcję w JavaScripcie definiuje się słowem kluczowym function, np. function nazwa_funkcji(argumenty) { instrukcje; }. Dlatego poprawna jest definicja zaczynająca się od function.

Pytanie 26

Którego atrybutu użyć, aby scalić w POZIOMIE dwie sąsiednie komórki w wierszu tabeli?

A.
cellpadding
B.
colspan
C.
cellspacing
D.
rowspan
Trzeba odróżnić scalanie poziome od pionowego. rowspan łączy komórki w PIONIE (przez wiersze). cellpadding i cellspacing to atrybuty całej tabeli sterujące odstępami, a nie scalaniem. Poziome scalanie komórek daje colspan.

Pytanie 27

Którym poleceniem wyświetli się konfigurację serwera PHP (m.in. wersję PHP, system operacyjny, wartości zmiennych predefiniowanych)?

A.
print_r(ini_get_all());
B.
echo phpversion();
C.
phpcredits();
D.
phpinfo();
Pozostałe polecenia dają tylko wycinek. phpcredits() wyświetla listę twórców PHP. echo phpversion(); zwraca wyłącznie numer wersji. print_r(ini_get_all()) pokaże same dyrektywy php.ini, bez informacji o systemie i środowisku. Pełną konfigurację daje phpinfo();.

Pytanie 28

Co wchodzi w skład standardowego frameworka?

A. domena oraz obsługa błędów
B. przetwarzanie formularzy oraz wbudowany serwer
C. zarządzanie komunikacją z bazą danych, system uruchamiania i przetwarzania akcji
D. system uruchamiania i przetwarzania akcji oraz certyfikat http
Wybór odpowiedzi, który nie odnosi się do zarządzania komunikacją z bazą danych oraz mechanizmu uruchamiania i przetwarzania akcji, może prowadzić do mylnych przekonań na temat roli frameworków. Na przykład, odpowiedzi dotyczące certyfikatu HTTP i serwera wbudowanego mogą sugerować, że te elementy są kluczowe dla frameworków, podczas gdy w rzeczywistości to mechanizmy, które są bardziej związane z infrastrukturą sieciową i konfiguracją serwera. Certyfikat HTTP jest istotny dla bezpieczeństwa komunikacji, ale nie jest częścią samego frameworka aplikacyjnego. Podobnie, obsługa formularzy jest funkcją, którą wiele frameworków oferuje, lecz nie jest ona wystarczająca do pełnego operowania w kontekście aplikacji webowych. Ponadto, odpowiedź dotycząca domeny i obsługi błędów może wprowadzać w błąd, ponieważ domena to szerszy termin związany z architekturą aplikacji, a obsługa błędów to mechanizm usprawniający interakcję użytkownika, ale nie definiujący samego frameworka. Właściwe zrozumienie roli zarządzania danymi i mechanizmów przetwarzania akcji jest kluczowe dla efektywnego tworzenia aplikacji, które są skalowalne i łatwe w utrzymaniu.

Pytanie 29

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. części wspólnej.
B. wykluczenia.
C. grupowania.
D. sumy.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 30

Który z podanych jest plikiem konfiguracyjnym serwera Apache?

A.
htaccess.cnf
B.
.configuration
C.
.htaccess
D.
configuration.php
Plik .htaccess to plik konfiguracyjny serwera Apache działający na poziomie katalogu - umieszczony w folderze zmienia ustawienia Apache dla niego i podkatalogów, bez ruszania głównej konfiguracji. Stosuje się go m.in. do przekierowań i reguł mod_rewrite, ochrony katalogu hasłem czy ustawień stron błędów. Główna, serwerowa konfiguracja Apache mieści się w pliku httpd.conf (lub apache2.conf), ale spośród podanych opcji to .htaccess jest realnym plikiem konfiguracyjnym Apache. Dlatego ta odpowiedź jest poprawna.

Pytanie 31

Testy aplikacji webowej, mające na celu ocenę wydajności aplikacji oraz bazy danych, a także architektury serwera i konfiguracji, noszą nazwę testów

A. funkcjonalnych
B. bezpieczeństwa
C. kompatybilności
D. użyteczności
Testy użyteczności zajmują się tym, jak łatwo i intuicyjnie użytkownicy mogą korzystać z aplikacji. Obejmują analizę interfejsu użytkownika oraz ogólne wrażenia z korzystania. Choć oczywiście są ważne, to nie mają bezpośredniego związku z testowaniem skalowalności czy tego, jak działa architektura serwera. Z kolei testy funkcjonalne sprawdzają, czy aplikacja działa tak, jak powinna, testując jej funkcje w kontekście poszczególnych zadań, ale też nie obejmują tego, jak aplikacja radzi sobie pod dużym obciążeniem. Testy bezpieczeństwa są o tym, jak znaleźć luki w zabezpieczeniach aplikacji, a nie odnoszą się do skalowalności ani architektury systemu. Często ludzie błędnie mylą cele różnych testów, co prowadzi do wyboru złych odpowiedzi. Ważne jest, żeby zrozumieć, że każdy test ma swoją specyfikę i cele, które pomagają zapewnić, że aplikacja nie tylko działa, ale żeby działała efektywnie w różnych warunkach i na różnych platformach. Dlatego dobrze jest znać kontekst testów kompatybilności, bo to kluczowe do projektowania i wdrażania aplikacji internetowych, które mogą sprostać wymaganiom użytkowników.

Pytanie 32

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe dane
B. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
C. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
D. uzyskania id ostatnio dodanego wiersza
Każda z niepoprawnych odpowiedzi zawiera błędne założenia dotyczące funkcji insert_id w kontekście MySQLi. Odpowiedź, która sugeruje, że pole to może być użyte do otrzymania kodu błędu w przypadku niepowodzenia procesu wstawiania wiersza, jest myląca, ponieważ kod błędu jest uzyskiwany za pomocą innych mechanizmów, takich jak mysqli_errno() oraz mysqli_error(). Takie podejście może prowadzić do nieporozumień w zarządzaniu błędami w bazach danych, co jest istotnym aspektem programowania. Ponadto, pomysł, że insert_id może być używany do pobrania najwyższego indeksu bazy, aby po jego inkrementacji wstawić nowe dane jest nieprawidłowy, ponieważ insert_id nie działa w ten sposób; identyfikator jest automatycznie generowany przez bazę danych w momencie dodawania rekordu. Takie podejście może prowadzić do trudności w synchronizacji danych i jest niezgodne z zasadami dobrego projektowania baz danych. Również koncepcja pozyskiwania pierwszego wolnego indeksu jest błędna; w praktyce nie jest zalecane ręczne zarządzanie indeksami, ponieważ może to prowadzić do konfliktów i naruszenia integralności danych. MySQL automatycznie zarządza numerami ID, co jest bardziej efektywne i zmniejsza ryzyko błędów. Wreszcie, stosując te nieprawidłowe koncepcje, programiści mogą napotkać trudności w utrzymaniu kodu i jego rozwoju, co może zwiększyć złożoność aplikacji.

Pytanie 33

W kodzie źródłowym zapisanym w języku HTML wskaż błąd walidacji dotyczący tego fragmentu. <h6>CSS</h6>
<p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</b></i>)<br>to język służący...</p>

A. Znak br nie został prawidłowo zamknięty.
B. Znak zamykający /b jest niezgodny z zasadą zagnieżdżania.
C. Znak br nie może być użyty wewnątrz znacznika p.
D. Znacznik h6 jest nieznany.
W analizowanym fragmencie kodu HTML występuje błąd związany z niewłaściwym zagnieżdżeniem znaczników. W szczególności, znacznik zamykający </b> został umieszczony przed zamknięciem znacznika <i>, co narusza zasady zagnieżdżania elementów w HTML. Zgodnie z wytycznymi W3C (World Wide Web Consortium), każdy znacznik otwierający musi mieć odpowiedni znacznik zamykający w odpowiedniej kolejności, a zagnieżdżanie elementów musi być przestrzegane, aby zapewnić poprawną strukturę dokumentu. W tym przypadku poprawna sekwencja powinna wyglądać następująco: <i>...</i><b>...</b>, co oznacza, że znacznik <i> powinien być zamknięty po znaczniku <b>. Przykładowo, prawidłowy zapis mógłby wyglądać tak: <p>Kaskadowe arkusze stylów <b>ang.<i>Cascading Style Sheets</i></b> to język służący...</p>. Taka struktura zapewnia, że znaczniki są poprawnie zagnieżdżone, co przekłada się na lepszą interpretację przez przeglądarki oraz narzędzia do walidacji HTML.

Pytanie 34

Wskaż system do zarządzania treściami.

A. Apache
B. MariaDB
C. Joomla!
D. phpMyAdmin
Joomla! to system zarządzania treścią (CMS), który umożliwia użytkownikom tworzenie i edytowanie stron internetowych bez potrzeby zaawansowanej wiedzy programistycznej. Jest to jeden z najpopularniejszych CMS na świecie, używany przez miliony witryn, od prostych blogów po skomplikowane portale e-commerce. Jego zalety obejmują elastyczność, możliwość łatwego dostosowywania za pomocą rozbudowanych wtyczek i szablonów oraz aktywną społeczność, która wspiera rozwój i aktualizacje. Joomla! umożliwia zarządzanie użytkownikami, co pozwala na tworzenie złożonych struktur dostępu do treści, co jest istotne w kontekście dużych organizacji. Dobre praktyki przy korzystaniu z Joomla! obejmują regularne aktualizacje, aby zapobiegać lukom bezpieczeństwa, oraz optymalizację treści pod kątem SEO, co zwiększa widoczność witryn w wynikach wyszukiwania. System ten jest zgodny z wieloma standardami webowymi, co czyni go solidnym wyborem dla profesjonalnych projektów webowych.

Pytanie 35

Jakie zadania programistyczne należy wykonać na serwerze?

A. Zmiana stylu HTML na stronie spowodowana ruchem kursora
B. Weryfikacja danych wprowadzonych do pola tekstowego na bieżąco
C. Zapisanie danych pozyskanych z aplikacji internetowej w bazie danych
D. Ukrywanie i wyświetlanie elementów strony w zależności od aktualnej pozycji kursora
Wszystkie pozostałe zadania, takie jak zmiana stylu HTML na stronie wywołana przesunięciem kursora, sprawdzenie danych wpisanych do pola tekstowego w czasie rzeczywistym, czy ukrywanie i pokazywanie elementów strony w zależności od aktualnego stanu kursora, są zadaniami, które powinny być realizowane po stronie klienta. Podejście to wynika z faktu, iż interakcje z użytkownikiem powinny być jak najbardziej responsywne i natychmiastowe, co jest możliwe jedynie przy użyciu JavaScriptu w przeglądarkach. Na przykład, zmiana stylu HTML jest operacją, która nie wymaga komunikacji z serwerem, ponieważ wszystkie potrzebne informacje są już dostępne na kliencie. W przypadku sprawdzania danych w czasie rzeczywistym, przetwarzanie odbywa się lokalnie, co pozwala na natychmiastowe informowanie użytkownika o błędach w formularzach bez opóźnienia wynikającego z oczekiwania na odpowiedź serwera. Ukrywanie i pokazywanie elementów strony również powinno być realizowane po stronie klienta, aby zapewnić płynność interakcji. Użytkownicy oczekują szybkiej reakcji na swoje działania, a operacje po stronie klienta, takie jak animacje czy zmiany widoczności elementów, są znacznie bardziej efektywne, gdy są wykonywane lokalnie, ponieważ nie wymagają dodatkowych zasobów serwera ani czasu przetwarzania. W przeciwnym razie, realizacja tych zadań na serwerze prowadziłaby do zbędnych opóźnień i obciążenia infrastruktury serwerowej, co w konsekwencji ograniczyłoby wydajność i doświadczenie użytkownika.

Pytanie 36

Jakie znaczniki należy zastosować, aby umieścić kod w języku PHP w pliku z rozszerzeniem .php?

A.
<php> ... </php>
B.
<?php ... ?>
C.
<php ... />
D.
<?php>...<php?>
Atrybut w bazie danych to nazwana KOLUMNA tabeli, opisująca jedną określoną cechę obiektu (encji) - np. w tabeli „Uczeń” atrybutami są „imię”, „nazwisko”, „klasa”. Każda krotka (wiersz) ma dla danego atrybutu konkretną wartość. Dlatego atrybut to nazwana kolumna opisująca cechę.

Pytanie 37

Który format to RASTROWY format graficzny z kompresją BEZSTRATNĄ?

A. PNG
B. SVG
C. CDR
D. JNG
PNG to rastrowy format graficzny z kompresją BEZSTRATNĄ - zmniejsza rozmiar pliku bez pogorszenia jakości obrazu, dodatkowo obsługując przezroczystość. Dlatego nadaje się do grafik, w których liczy się czystość krawędzi i kolorów. Zapamiętaj: PNG = raster + bezstratność (+ kanał alfa).

Pytanie 38

Przedstawiono kod tabeli 3×2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela wyglądała jak na obrazie z niewidocznym wierszem?

<table>
  <tr>
    <td style="border: solid 1px;">Komórka 1</td>
    <td style="border: solid 1px;">Komórka 2</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 3</td>
    <td style="border: solid 1px;">Komórka 4</td>
  </tr>
  <tr>
    <td style="border: solid 1px;">Komórka 5</td>
    <td style="border: solid 1px;">Komórka 6</td>
  </tr>
</table>
Komórka 1Komórka 2
Komórka 3Komórka 4
Komórka 5Komórka 6
A. <tr style="display: table-cell">
B. <tr style="clear: none">
C. <tr style="display: none">
D. <tr style="visibility: hidden">
Właściwość CSS 'visibility: hidden' jest używana do ukrycia elementu, ale jednocześnie zachowuje ona jego miejsce w układzie strony. Jest to idealne dla sytuacji, kiedy chcemy ukryć konkretny element, ale nie chcemy wpływać na układ pozostałych elementów. W kontekście naszego pytania, jeśli chcielibyśmy ukryć drugi wiersz tabeli, ale nie chcemy, aby pozostałe wiersze zmieniały swoje położenie, 'visibility: hidden' jest idealnym rozwiązaniem. W przeciwnym razie, gdybyśmy użyli 'display: none', wiersz zostałby całkowicie usunięty z układu strony, a pozostałe wiersze przesunęłyby się do góry, aby zapełnić puste miejsce. W praktyce, właściwość 'visibility: hidden' jest często używana w połączeniu z JavaScript do tworzenia efektów 'hide/show', gdzie ukryte elementy mogą być później odkrywane bez wpływu na układ strony.

Pytanie 39

Które dane z 8 rekordów wpisanych do tabeli zwierzeta zostaną wyświetlone w wyniku podanego poniżej zapytania SQL?

SELECT imie FROM zwierzeta WHERE rodzaj = 2 AND szczepienie = 2016;

idrodzajimiewlascicielszczepienieopis
11FafikAdam Kowalski2016problemy z uszami
21BrutusAnna Wysocka2016zapalenie krtani
41SabaMonika Nowak2015antybiotyk
51AlmaJan KowalewskiNULLantybiotyk
62FigaroAnna KowalskaNULLproblemy z uszami
72DikaKatarzyna Kowal2016operacja
82FuksJan Nowak2016antybiotyk
A. Anna Kowalska, Jan Nowak.
B. Dika, Fuks.
C. Fafik, Brutus, Dika, Fuks.
D. Figaro, Dika, Fuks.
Gratulacje! Twoja odpowiedź była poprawna. Wybrałeś 'Dika, Fuks.', co jest prawidłowym wynikiem dla podanego zapytania SQL. Zapytanie przeszukuje bazę danych zwierząt z podziałem na pewne kryteria - w tym przypadku są to zwierzęta o rodzaju, który odpowiada 2 oraz które były szczepione w 2016 roku. Wśród wszystkich rekordów w tabeli tylko 'Dika' i 'Fuks' spełniają te kryteria, dlatego tylko one są wyświetlane. To pokazuje, jak potężne i elastyczne mogą być zapytania SQL - możemy przeszukiwać ogromne ilości danych, stosując różne warunki, aby otrzymać dokładnie to, czego szukamy. Zrozumienie i umiejętne wykorzystanie takich zapytań jest kluczowe w pracy z bazami danych. Pamiętaj, że SQL pozwala nie tylko na pobieranie danych, ale również na ich modyfikację, usuwanie oraz dodawanie nowych rekordów do bazy. Spróbuj teraz zastosować swoją wiedzę w praktycznych zadaniach!

Pytanie 40

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

A. pod określonymi warunkami dane modyfikowane przez transakcję mogą zostać anulowane
B. gdy wystąpi konflikt z inną transakcją, obie mogą modyfikować te same dane równocześnie
C. jeśli dwie transakcje są wykonywane równolegle, to zazwyczaj nie zauważają wprowadzanych przez siebie zmian
D. po zrealizowaniu transakcji system baz danych będzie w stanie spójności
Po pierwsze, odpowiedź, która sugeruje, że po wykonaniu transakcji system bazy danych będzie spójny, nie odnosi się bezpośrednio do aspektu izolacji. Spójność to w rzeczywistości inne z wymaganych stanów ACID, które koncentruje się na tym, że wszystkie transakcje muszą zapewnić, że system przechodzi z jednego stanu spójnego do innego. Izolacja działa w zupełnie innym kontekście. Kolejna odpowiedź wskazująca na konflikt modyfikacji danych przez różne transakcje sugeruje sytuację, która w rzeczywistości powinna być unika, a nie opisana jako cecha izolacji. Izolacja ma na celu zapobieganie takim konfliktom, a nie ich akceptację. Dodatkowo, odpowiedź mówiąca o wycofywaniu danych pod pewnymi warunkami odnosi się do działania mechanizmu rollback, który jest związany z innym aspektem transakcji – atomowością. Atomowość dotyczy tego, czy cała transakcja zostanie pomyślnie zakończona, czy też w razie problemów zostanie wycofana, ale nie bezpośrednio do izolacji. Powszechny błąd myślowy polega na myleniu tych pojęć i ich wzajemnych interakcji. Właściwe zrozumienie izolacji jako ochrony przed widocznością zmian między transakcjami współbieżnymi jest kluczowe dla projektowania poprawnych i odpornych na błędy systemów baz danych.