Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 22:44
  • Data zakończenia: 8 czerwca 2026 23:16

Egzamin niezdany

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

W systemie zarządzania bazami danych MySQL komenda CREATE USER pozwala na

A. utworzenie użytkownika
B. pokazanie danych o istniejącym użytkowniku
C. stworznie nowego użytkownika oraz przydzielenie mu uprawnień do bazy
D. zmianę hasła dla już istniejącego użytkownika
Polecenie CREATE USER w MySQL jest używane do tworzenia nowych użytkowników w systemie baz danych. W kontekście zarządzania bazami danych, kluczowym aspektem jest kontrola dostępu, a odpowiednie zdefiniowanie użytkowników jest niezbędne dla zapewnienia bezpieczeństwa danych. Używając CREATE USER, administrator bazy danych może zdefiniować nazwę użytkownika oraz powiązane z nią hasło, co stanowi pierwszy krok w procesie zarządzania uprawnieniami. Dobrą praktyką jest stosowanie silnych haseł oraz nadawanie użytkownikom tylko tych uprawnień, które są im rzeczywiście potrzebne do wykonania ich zadań. Na przykład, w przypadku aplikacji webowych często tworzy się specjalnych użytkowników z ograniczonymi prawami dostępu, co minimalizuje ryzyko nieautoryzowanego dostępu do wrażliwych danych. Warto pamiętać, że po utworzeniu użytkownika, można wykorzystać polecenia GRANT, aby przyznać mu odpowiednie uprawnienia do konkretnych baz danych lub tabel, co pozwala na precyzyjne zarządzanie dostępem. Ponadto, MySQL pozwala na tworzenie użytkowników z różnymi poziomami dostępu, co jest kluczowe dla organizacji z wieloma działami oraz różnorodnymi potrzebami w zakresie bezpieczeństwa danych.

Pytanie 2

Wskaż warunek w języku JavaScript, który ma na celu sprawdzenie, czy przynajmniej jeden z poniższych przypadków jest spełniony: 1) dowolna naturalna liczba a jest liczbą trzycyfrową 2) dowolna liczba całkowita b jest liczbą ujemną

A. ((a>99)&&(a<1000))&&(b<0)
B. ((a>99)||(a<1000))&&(b<0)
C. ((a>99)&&(a<1000))||(b<0)
D. ((a>99)||(a<1000))||(b<0)
Wszystkie pozostałe odpowiedzi zawierają błędy w logice warunków, które prowadzą do niepoprawnych wywołań logicznych. W przypadku pierwszego zapisu ((a>99)||(a<1000))||(b<0) użycie operatora '||' w pierwszej części oznacza, że wystarczy, aby a było większe niż 99 lub mniejsze niż 1000, co w praktyce nigdy nie wyklucza a z zakresu liczb naturalnych, ponieważ wszystkie liczby naturalne (w tym te jedno- i dwu-cyfrowe) spełniają ten warunek. To powoduje, że wynik będzie zawsze prawdziwy, niezależnie od wartości a. Kolejny zapis ((a>99)&&(a<1000))&&(b<0) również jest błędny, ponieważ wymaga, aby obie części były prawdziwe równocześnie. Oznacza to, że zarówno warunek trzycyfrowości liczby a, jak i warunek, że b musi być liczbą ujemną, muszą być spełnione, aby całość była prawdziwa. W sytuacji, gdy a jest liczbą trzycyfrową, ale b jest liczbą dodatnią, wynik będzie fałszywy, co nie spełnia założonych wymagań, które mówią o tym, że wystarczy, aby jeden z przypadków był prawdziwy. Wreszcie, ostatni zapis ((a>99)&&(a<1000))&&(b<0) jest identyczny w swej logice do poprzedniego, jedynie potwierdza, że oba warunki muszą być spełnione jednocześnie, co z kolei ogranicza możliwości otrzymania prawdziwego wyniku. W kontekście programowania i analizy logicznej, kluczowe jest zrozumienie operatorów logicznych oraz ich zastosowanie w konstrukcjach warunkowych, aby uzyskać zamierzony efekt działania.

Pytanie 3

Jaką wartość w formacie RGB będzie miała barwa oznaczona kodem heksadecymalnym: #1510FE?

A. rgb(15, 10, FE)
B. rgb(21, 16, FE)
C. rgb(21, 16, 255)
D. rgb(21, 16, 254)
Odpowiedź rgb(21, 16, 254) jest dobra, bo te wartości RGB pochodzą z kodu heksadecymalnego #1510FE. W tym kodzie każda para cyfr pokazuje, jak mocno świeci dany kolor: od 00, co oznacza brak koloru, do FF, gdzie mamy pełną intensywność. W naszym przypadku, pierwsza para '15' to kolor czerwony, '10' to zielony, a 'FE' to niebieski. Jak to przeliczymy na dziesiętny, to '15' daje nam 21, '10' daje 16, a 'FE' to 254. I stąd mamy rgb(21, 16, 254). Te wartości są super przydatne, na przykład przy tworzeniu stylów CSS, gdzie kolory są podstawą. Warto ogarnąć, jak przerabiać kolory z jednego formatu na drugi – to naprawdę pomaga w projektowaniu grafiki i stron www.

Pytanie 4

W programie MS Access w ustawieniach pola klasa należy określić maskę wprowadzania danych. Jaką maskę należy ustawić, aby dane wprowadzone składały się z trzech znaków w formacie: obowiązkowa cyfra, następnie dwie obowiązkowe litery?

Ogólne
Rozmiar pola3
Format
Maska wprowadzania
Tytuł
Wartość domyślna
Reguła spr. poprawności
Tekst reguły spr. poprawności
WymaganeNie
Zerowa dł. dozwolonaTak
IndeksowaneNie
Kompresja UnicodeTak
Tryb IMEBez formantu
Tryb zdania edytora IMEBrak
Tagi inteligentne
A. CLL
B. 000
C. 0CC
D. 0LL
W przypadku maski wprowadzania danych w MS Access, należy zrozumieć, jakie znaczenie mają poszczególne symbole używane do stworzenia maski. Symbole te określają, co użytkownik może wprowadzić w każdym miejscu pola. Często spotykanym błędem jest wybór niewłaściwego symbolu, co prowadzi do niepoprawnego formatu danych. W przypadku masek takich jak 0CC, 000 i CLL, każda z nich stosuje niewłaściwe podejście do formatu wymaganego w pytaniu. Maska 0CC zakłada, że po cyfrze mogą znajdować się dowolne znaki, co nie spełnia wymagań dotyczących dwóch obowiązkowych liter. Maska 000 z kolei wymusza wprowadzenie trzech cyfr, co całkowicie mija się z celem, ponieważ wymagany jest format składający się z jednej cyfry i dwóch liter. Maska CLL sugeruje, że pierwszy znak może być dowolnym znakiem (cyfrą lub literą), co również jest niezgodne z wymaganiami, gdzie pierwszą pozycję musi zajmować cyfra. Takie nieporozumienia mogą wynikać z braku zrozumienia znaczenia symboli używanych w maskach wprowadzania danych. Kluczem do poprawnego zastosowania masek w MS Access jest więc dokładne poznanie, jakie symbole są dostępne i jakie mają zastosowanie, aby zwiększyć spójność i integralność danych w systemach bazodanowych. Zrozumienie tych zasad pozwala również uniknąć typowych błędów wynikających z niepoprawnej interpretacji wymagań dotyczących formatowania danych, co jest istotne nie tylko w kontekście egzaminacyjnym, ale także w praktycznej pracy z bazami danych. Poprawne zrozumienie i stosowanie masek wprowadzania danych jest elementem profesjonalnego zarządzania danymi, gdzie każda baza musi spełniać określone standardy jakości i wydajności.

Pytanie 5

Program FileZilla może być użyty do

A. publikacji strony internetowej na serwerze
B. zarządzania bazami danych strony internetowej
C. zmiany domyślnych ustawień hostingu dla strony internetowej
D. walidacji strony internetowej
Program FileZilla jest popularnym klientem FTP, który umożliwia przesyłanie plików na serwery internetowe, co jest kluczowe przy publikacji stron internetowych. Użytkownicy mogą korzystać z FileZilla do łatwego zarządzania plikami na serwerze, co pozwala na przesyłanie wszystkich niezbędnych plików HTML, CSS, JavaScript oraz multimediów do katalogu głównego serwera. Przykładowo, po zakończeniu prac nad stroną lokalnie, użytkownik może użyć FileZilla do przesłania plików na serwer, co sprawia, że strona staje się dostępna dla internautów. Program wspiera różne protokoły transferu plików, takie jak FTP, FTPS czy SFTP, co zwiększa bezpieczeństwo przesyłania danych, zgodnie z dzisiejszymi standardami. Używając FileZilla, użytkownicy mogą również zarządzać strukturą katalogów na serwerze, co jest zgodne z dobrymi praktykami w zakresie organizacji plików. Poznanie tego narzędzia i jego funkcji jest niezwykle istotne dla każdego, kto planuje publikować treści w internecie.

Pytanie 6

Na co wpływa częstotliwość próbkowania?

A. na amplitudę fali dźwiękowej
B. na skalę głośności utworu
C. na jakość dźwięku analogowego
D. na jakość cyfrowego dźwięku
Próbkowanie to etap CYFRYZACJI dźwięku, więc nie dotyczy sygnału analogowego (ten jest ciągły). Nie ustala też amplitudy fali ani skali głośności - to osobne wielkości. Częstotliwość próbkowania wpływa na jakość cyfrowego dźwięku.

Pytanie 7

Kod       SELECT imie, pesel, wiek FROM dane WHERE wiek IN (18,30) spowoduje wybranie

A. imion, numerów PESEL oraz wieku ludzi mających ponad 30 lat
B. imion, numerów PESEL i wieku osób, które mają 18 lub 30 lat
C. imion, numerów PESEL oraz wieku osób w przedziale 18 do 30 lat
D. imion, nazwisk i numerów PESEL osób młodszych niż 18 lat
W pytaniu mamy kod SQL, który robi zapytanie do bazy i wybiera kolumny 'imie', 'pesel' oraz 'wiek' z tabeli 'dane'. W klauzuli WHERE jest warunek, który sprawdza, czy 'wiek' wynosi 18 albo 30. Trochę to dziwne, bo jest tam błąd z nawiasami (mówiąc wprost, powinno być IN (18, 30), ale wygląda na to, że zamysł był dobry. Teoretycznie, to zapytanie ma na celu wybór osób w konkretnym wieku. Przyjmując, że w tabeli 'dane' są rekordy jak (Jan, 12345678901, 18) i (Anna, 98765432101, 30), to te dwa zapisy powinny się pojawić w wynikach. Operator IN w SQL jest użyty, by określić konkretne wartości, więc całkiem sensownie działa tutaj do filtracji na podstawie wieku. Takie zapytania są naprawdę popularne w bazach danych, szczególnie do analizy danych czy tworzenia raportów.

Pytanie 8

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane", "dane", 0);
B. setcookie("dane", $dane, time());
C. setcookie("dane", $dane, 0);
D. setcookie("dane", $dane, time() + (3600*24));
W przypadku odpowiedzi setcookie("dane", $dane, time());, czas wygaśnięcia ciasteczka nie jest ustawiony prawidłowo. Zmienna time() zwraca aktualny czas w sekundach od 1 stycznia 1970 roku, co oznacza, że ciasteczko, które zostanie ustawione w ten sposób, wygasnie natychmiast po zamknięciu przeglądarki. To podejście jest nieodpowiednie, gdyż nie spełnia wymogów aplikacji, które wymagają dłuższego przechowywania danych. Z kolei zastosowanie setcookie("dane", $dane, 0); również jest niewłaściwe, ponieważ wartość 0 dla czasu wygaśnięcia oznacza, że ciasteczko jest sesyjne i wygasa po zakończeniu sesji przeglądarki. Takie zachowanie może prowadzić do utraty istotnych danych, co jest niekorzystne w kontekście użytkowników czekających na długotrwałą interakcję z aplikacją. Co więcej, odpowiedź setcookie("dane", "dane", 0); jest błędna, ponieważ zamiast wartości zmiennej $dane, ustawiana jest stała wartość 'dane', co prowadzi do braku elastyczności oraz utrudnia personalizację. W każdym przypadku, aby poprawnie zarządzać ciasteczkami, ważne jest, aby rozumieć ich żywotność, miejsce przechowywania oraz stosować się do standardów bezpieczeństwa w aplikacjach webowych.

Pytanie 9

W semantycznym HTML odpowiednikiem elementu <b>, który nie tylko pogrubia tekst, ale także wskazuje na jego większe znaczenie, jest

A. <em>
B. <mark>
C. <strong>
D. <ins>
Użycie znaczników <em>, <ins>, czy <mark> w kontekście pytania jest nieprawidłowe z różnych powodów. Znacznik <em> służy do podkreślenia znaczenia tekstu, ale jego domyślna semantyka wskazuje, że ma on charakter emocjonalny, a nie wagi. Z kolei <ins> oznacza dodanie nowego elementu treści, co również nie odzwierciedla idei pogrubienia z podkreśleniem znaczenia. Znacznik <mark> stosuje się do wyróżniania fragmentów tekstu, które są istotne w danym kontekście, jednak nie przekazuje on informacji o większym znaczeniu, jak to ma miejsce w przypadku <strong>. Dlatego myślenie, że te znaczniki mogą zastąpić <strong>, może prowadzić do błędnych interpretacji treści przez odwiedzających stronę. Warto zauważyć, że poprawne użycie semantyki w HTML nie tylko wpływa na estetykę strony, ale także na jej funkcjonalność i dostępność. Błędy w doborze znaczników mogą skutkować brakiem przystosowania witryny do potrzeb osób z niepełnosprawnościami, co jest sprzeczne z zasadami tworzenia dostępnych stron internetowych. Stąd zasada dobrych praktyk nakazuje, aby stosować odpowiednie znaczniki w oparciu o ich semantyczne znaczenie, co przynosi korzyści zarówno w kontekście SEO, jak i użyteczności.

Pytanie 10

Reprezentacja znacznika HTML w formacie

<a href="#hobby">przejdź</a>
A. jest błędny, użyto niewłaściwego znaku "#" w atrybucie href
B. jest błędny, w atrybucie href należy wpisać adres URL
C. jest poprawny, po kliknięciu w odnośnik strona zostanie przewinięta do sekcji o nazwie "hobby"
D. jest poprawny, po kliknięciu w odnośnik otworzy się strona internetowa o URL "hobby"
W odpowiedziach, które wskazują na błędy w zapisie znacznika HTML, pojawiają się nieporozumienia dotyczące funkcji atrybutu href w tagu <a>. Niepoprawne są twierdzenia sugerujące, że użycie znaku '#' w atrybucie href jest błędne. Wręcz przeciwnie, znak '#' jest standardowym sposobem definiowania odnośników do identyfikatorów na tej samej stronie. Zastosowanie atrybutu href w takiej formie jest powszechnie akceptowane i stosowane w praktyce web developerskiej. Kolejnym błędnym wnioskiem jest stwierdzenie, że w atrybucie href należy podać pełny adres URL. W rzeczywistości, gdy celem jest nawigacja do sekcji na tej samej stronie, wystarczy użyć symbolu '#' i odpowiedniego identyfikatora. Dodatkowo, pominięcie praktyki użycia href do nawigacji wewnętrznej prowadzi do mniejszych korzyści w zakresie użyteczności strony. Użytkownicy oczekują, że będą mogli łatwo przemieszczać się pomiędzy różnymi sekcjami długich treści, a niewłaściwe podejście do definiowania odnośników może prowadzić do frustracji i obniżenia jakości doświadczeń użytkowników. Warto zatem zrozumieć, że poprawne stosowanie takich odnośników jest kluczowe dla skutecznego projektowania stron internetowych.

Pytanie 11

Co umożliwia polecenie CREATE USER w MySQL?

A. wyświetlenie danych o użytkowniku
B. utworzenie użytkownika i nadanie mu uprawnień
C. utworzenie nowego użytkownika
D. zmianę hasła istniejącego użytkownika
Polecenie CREATE USER zakłada nowe KONTO użytkownika na serwerze MySQL, np. CREATE USER 'jan'@'localhost' IDENTIFIED BY 'haslo';. Samo utworzenie konta NIE nadaje jeszcze uprawnień do baz - te przyznaje się osobno poleceniem GRANT. Dlatego CREATE USER służy do utworzenia użytkownika.

Pytanie 12

Podczas testowania skryptu JavaScript można w konsoli wyświetlać obecnie przechowywane wartości zmiennych przy użyciu funkcji

A. console.log()
B. console.warn()
C. console.error()
D. console.count()
Funkcja console.log() jest najczęściej używaną metodą do wyświetlania informacji w konsoli JavaScript. Umożliwia ona programistom monitorowanie wartości zmiennych w czasie rzeczywistym, co jest niezwykle pomocne podczas debugowania aplikacji. Używając console.log(), można łatwo wprowadzić komunikaty do konsoli, co pozwala na śledzenie zachowań aplikacji oraz identyfikację potencjalnych problemów. Przykładowo, jeśli mamy zmienną 'x' i chcemy zobaczyć jej wartość, wystarczy wpisać console.log(x). Dobre praktyki inżynierii oprogramowania sugerują, aby używać tego narzędzia do logowania istotnych informacji, w tym danych wejściowych oraz wyników operacji, co ułatwia późniejszą analizę i utrzymanie kodu. Ponadto, console.log() jest częścią standardu Web API, co potwierdza jego znaczenie i powszechność w branży. Warto też pamiętać, że nadmierne logowanie może prowadzić do zagracenia konsoli, dlatego kluczowe jest stosowanie tej funkcji w umiarkowany sposób, szczególnie w środowisku produkcyjnym.

Pytanie 13

W języku PHP, aby nawiązać połączenie z bazą danych MySQL przy użyciu biblioteki mysqli, w poniższym zapisie w miejsce litery 'c' należy wpisać:

$a = new mysqli('b', 'c', 'd', 'e');
A. adres serwera bazy danych
B. nazwa bazy danych
C. nazwa użytkownika
D. hasło dla użytkownika
Odpowiedź 'nazwa użytkownika' jest na pewno właściwa, bo w konstruktorze klasy mysqli w PHP musimy podać nazwę użytkownika jako drugi argument. To ważne, bo bez tych danych, czyli nazwy użytkownika i hasła, nie da się połączyć z bazą danych. Używanie mysqli to dobra praktyka, zwłaszcza jeśli chodzi o bezpieczeństwo przed atakami SQL injection. Jak chcemy się połączyć, to zapisujemy to tak: $a = new mysqli('localhost', 'nazwa_użytkownika', 'hasło', 'nazwa_bazy'). Dzięki temu możemy na przykład ściągnąć dane z tabeli 'użytkownicy'. Warto też pamiętać o walidacji danych wejściowych i korzystaniu z przygotowanych zapytań, bo to naprawdę podnosi poziom bezpieczeństwa naszej aplikacji. I nie zapominaj, żeby zamknąć połączenie po zakończonej pracy, używając metody close().

Pytanie 14

Testy sprawdzające, czy aplikacja działa poprawnie w różnych architekturach serwera, konfiguracjach i środowiskach, to testy:

A. kompatybilności
B. funkcjonalności
C. użyteczności
D. bezpieczeństwa
Pozostałe testy mają inny cel. Testy bezpieczeństwa szukają podatności i luk. Testy funkcjonalności sprawdzają, czy program robi to, co powinien. Testy użyteczności oceniają wygodę obsługi dla użytkownika. Zgodność z różnymi środowiskami weryfikują testy kompatybilności.

Pytanie 15

W języku PHP znajduje się instrukcja pętli umieszczona w ramce. Ile razy zostanie wykonana ta pętla, o ile zmienna kontrolna nie jest zmieniana w jej wnętrzu, a także nie dodano instrukcji przerywającej pętlę, takiej jak break?

Ilustracja do pytania
A. 10 powtórzeń
B. 11 powtórzeń
C. 100 powtórzeń
D. 9 powtórzeń
W kontekście pętli for w języku PHP ważne jest zrozumienie jak parametry inicjalizacji warunku zakończenia i modyfikacji wpływają na liczbę iteracji. W przypadku tej konkretnej pętli analizując inicjalizację zmiennej sterującej $i=10 oraz warunek zakończenia $i<=100 można zauważyć że pętla wykona się dla wartości $i od 10 do 100 włącznie przyrosty co 10. Często błędne rozumienie polega na nieuwzględnieniu ostatniego warunku <= co skutkuje błędnym oszacowaniem liczby iteracji np. 9 zamiast 10. Innym częstym błędem jest zakładanie że pętla zawsze kończy się przed spełnieniem warunku co w przypadku <= nie jest prawdą. Dodatkowo błędne interpretacje mogą wynikać z założenia że modyfikator $i+=10 wpływa na większy zakres iteracji niż w rzeczywistości to jest co może prowadzić do obliczenia 11 lub 100 powtórzeń. Wszystkie te nieporozumienia można wyeliminować przez skrupulatną analizę każdego elementu składni pętli co jest kluczowe dla efektywnego i bezbłędnego programowania. Zrozumienie precyzyjnej roli jaką pełni każda część instrukcji for pozwala nie tylko unikać błędów ale także poprawiać jakość i czytelność kodu w długofalowym rozwijaniu projektów programistycznych. Przy projektowaniu algorytmów należy zawsze testować ich działanie w różnych scenariuszach aby przeciwdziałać potencjalnym błędom i zapewnić ich poprawne funkcjonowanie w różnych warunkach operacyjnych.

Pytanie 16

Jaką wartość uzyska zmienna x po wykonaniu kodu PHP zaprezentowanego w ramce?

Ilustracja do pytania
A. Ilość wierszy w tabeli produkty, gdzie pole status jest większe od zera
B. Ilość wierszy przetworzonych przez zapytanie DELETE FROM
C. Ilość wierszy dodanych do tabeli produkty
D. Ilość wierszy w bazie danych
Podczas analizy innych opcji należy zrozumieć, dlaczego nie są one poprawne. Jeśli chodzi o odpowiedź sugerującą, że zmienna x przyjmie wartość liczby wierszy dodanych do tabeli produkty, to jest to błędne, ponieważ funkcja mysqli_affected_rows() nie zlicza wierszy dodanych, lecz tylko te, które zostały zmienione w wyniku operacji INSERT, UPDATE lub DELETE. Inna odpowiedź sugerująca, że zmienna mogłaby przyjąć wartość liczby wierszy w całej bazie danych, jest również niepoprawna. Aby obliczyć całkowitą liczbę wierszy w tabeli, używa się zapytania SELECT COUNT(*), a nie mysqli_affected_rows(). Ta funkcja nie jest przeznaczona do wykonywania zliczania rekordów bezpośrednio z bazy danych. Kolejna niepoprawna propozycja dotyczy liczby wierszy, dla których pole status jest większe od zera. W naszym zapytaniu DELETE nie ma żadnego odniesienia do takich wierszy, ponieważ warunek WHERE specyfikuje usunięcie jedynie tych z wartością status mniejszą od zera. To oznacza, że mysqli_affected_rows() nie zwróci żadnej wartości w odniesieniu do wierszy z innymi warunkami. Typowym błędem jest interpretowanie funkcji jako uniwersalnego narzędzia do zliczania rekordów w różnych kontekstach, podczas gdy jej rzeczywiste zastosowanie jest ściśle związane z operacjami modyfikującymi zawartość tabel w bazie danych. Warto zwrócić uwagę na właściwe użycie tej funkcji w kontekście operacji modyfikujących oraz na precyzyjne konstruowanie zapytań SQL w celu osiągnięcia oczekiwanych rezultatów. Korzystanie z mysqli_affected_rows() umożliwia sprawne zarządzanie i monitorowanie efektów operacji na danych, co jest kluczowe w projektowaniu niezawodnych aplikacji bazodanowych.

Pytanie 17

Formularze do zarządzania bazami danych są tworzone w celu

A. wyszukiwania rekordów spełniających określone kryteria
B. łatwiejszego wprowadzania, edytowania oraz usuwania danych
C. tworzenia powiązań w relacyjnych bazach danych
D. generowania raportów z danych
Wiele osób może pomylić rolę formularzy w codziennej pracy z bazami danych, koncentrując się na ich potencjalnych zastosowaniach do wyszukiwania danych, raportowania czy wprowadzania powiązań relacyjnych. Wyszukiwanie wierszy spełniających dane kryteria jest procesem, który zazwyczaj wiąże się z używaniem kwerend SQL, a nie bezpośrednio z formularzami. Formularze nie mają na celu zastępowania tego procesu, lecz oferują przyjazny interfejs do interakcji z danymi, co może być mylnie interpretowane jako ich główna funkcja. Podobnie, raportowanie danych odbywa się zazwyczaj na poziomie analizy danych, a nie za pomocą formularzy, które są narzędziem do manipulacji danymi. Wprowadzenie powiązań w relacyjnych bazach danych dotyczy strukturalnego projektowania bazy, co jest odrębnym zagadnieniem od funkcji formularzy. Te błędne zrozumienia mogą prowadzić do nieefektywnego korzystania z systemów baz danych oraz frustracji użytkowników, którzy nie potrafią w pełni wykorzystać możliwości, jakie oferują formularze. Kluczowe jest zrozumienie, że formularze są narzędziem wspierającym zarządzanie danymi, a nie ich analizę czy strukturalne projektowanie, co powinno być podstawą każdej pracy z bazami danych.

Pytanie 18

Podczas definiowania pola id w tabeli MySQL użyto AUTO_INCREMENT. Co to oznacza?

id int NOT NULL AUTO_INCREMENT
A. pole id może przyjmować takie wartości jak: NULL, 1, 2, 3, 4 i tak dalej
B. wartości dla tego pola będą generowane automatycznie przy dodawaniu nowego rekordu do bazy
C. możliwe jest dodanie rekordu z dowolną wartością pola id
D. wartość pola id zostanie nadana automatycznie przez bazę i będzie to losowo wygenerowana liczba całkowita
Pole z definicją AUTO_INCREMENT w MySQL oznacza że podczas dodawania nowego rekordu do tabeli wartość tego pola jest automatycznie zwiększana najczęściej o jeden począwszy od wartości startowej. To zachowanie jest szczególnie przydatne w przypadku kluczy głównych gdzie unikalność jest wymagana. Jeśli mamy tabelę użytkowników i chcemy przypisać każdemu unikalny identyfikator możemy użyć AUTO_INCREMENT na kolumnie id. W ten sposób baza danych sama zadba o to by każda nowa wartość id była większa od poprzedniej co zapewnia automatyczne nadawanie kolejnych niepowtarzalnych wartości. Taka funkcjonalność jest zgodna z praktykami tworzenia baz danych i ułatwia zarządzanie danymi oraz ich integralność. Jest to również optymalizacja pod kątem wydajności ponieważ pozwala na szybkie dodawanie rekordów bez potrzeby ręcznego określania wartości klucza głównego. Dodatkowo zapewnia uporządkowane numerowanie rekordów co jest korzystne przy analizach i raportowaniu

Pytanie 19

Który z rysunków obrazuje efekt działania przedstawionego fragmentu kodu HTML?

<table border="1">
 <tr><td rowspan="2">pierwszy</td><td>drugi</td></tr>
 <tr><td>trzeci</td></tr>
</table>
Ilustracja do pytania
A. C.
B. D.
C. A.
D. B.
Super, wybrałeś właściwą odpowiedź! To rysunek C. Kod HTML to taki jakby zestaw narzędzi, który pozwala tworzyć różne układy stron internetowych, w tym tabelki. W tym przypadku mamy do czynienia z tabelą, która ma dwa wiersze i dwie kolumny. Zauważ, że pierwsza komórka z tekstem 'pierwszy' zajmuje miejsce aż na dwa wiersze, dzięki atrybutowi rowspan='2'. To oznacza, że można ją rozciągnąć w pionie, co zmienia układ całej tabeli. W pierwszym wierszu obok tej komórki jest komórka z tekstem 'drugi', a w drugim wierszu mamy jedynie 'trzeci', bo obok 'pierwszy' już jest zajęte miejsce. Dzięki temu, rysunek C dokładnie pokazuje, jak to wszystko działa. Pamiętaj, że umiejętność pracy z tabelami w HTML jest naprawdę ważna, jeśli chcesz tworzyć estetyczne i funkcjonalne strony.

Pytanie 20

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. liczby rekordów
B. średniej w kolumnie wartosc
C. średniej wartości tabeli
D. suma w kolumnie wartosc
W przypadku języka SQL, funkcja SELECT służy do wybierania danych z bazy i często jest mylona ze sposobem podsumowywania danych. Odpowiedzi wskazujące na obliczanie średniej w tabeli lub w kolumnie są błędne, ponieważ średnia (AVG) jest obliczana zupełnie inną funkcją. Select średniej w kolumnie wymaga użycia AVG zamiast COUNT. To powszechny błąd, wynikający z niepełnego zrozumienia różnicy między różnymi funkcjami agregującymi. Z kolei zrozumienie dlaczego odpowiedź dotycząca sumy w kolumnie jest błędna wiąże się z innym typowym nieporozumieniem w SQL. SUM służy do dodawania wartości liczbowych w kolumnie, jednak COUNT skupia się na liczbie wierszy, co oznacza, że jego celem nie jest sumowanie wartości, lecz ich zliczanie. W tej sytuacji pytanie dotyczyło liczby niepustych wartości w kolumnie wartosc, a nie sumy tych wartości. Takie błędy często wynikają z mylnego postrzegania funkcji jako wzajemnie zamiennych, podczas gdy każda z nich ma specyficzne zastosowanie i wynika z niej inna logika działania. Warto zatem skupić się na zrozumieniu przeznaczenia i użycia każdej z funkcji agregujących osobno, co pozwoli uniknąć takich nieporozumień w przyszłości. Ważne jest, aby pamiętać o tych różnicach i stosować odpowiednie funkcje zgodnie z potrzebami analizy danych. Poprawne użycie funkcji COUNT pozwala na efektywne zliczanie wartości i jest fundamentalne dla prawidłowego przetwarzania danych w SQL.

Pytanie 21

Jednostka ppi (pixels per inch) oznacza

A. określa rozdzielczość obrazów tworzonych przez drukarki oraz plotery
B. jest parametrem wyznaczającym rozdzielczość cyfrowych urządzeń dokonujących pomiarów
C. określa rozdzielczość obrazów rastrowych
D. jest jednostką rozdzielczości skanerów definiującą częstość próbkowania obrazu
Wiele odpowiedzi na to pytanie wskazuje na różne aspekty rozdzielczości i pomiarów, które jednak nie odnoszą się bezpośrednio do definicji jednostki ppi. Na przykład, stwierdzenie, że ppi "określa rozdzielczości obrazów generowanych przez drukarki i plotery" zawęża pojęcie do urządzeń drukujących, ignorując szerszy kontekst obrazów rastrowych, które obejmują zarówno reprodukcję cyfrową, jak i wydruk. PPI jest miarą stosowaną do określenia, jak szczegółowy jest obraz w jego cyfrowej formie, co jest kluczowe w przypadku dowolnego zastosowania obrazów rastrowych, a nie tylko ich druku. Inna odpowiedź, sugerująca, że ppi "jest parametrem określającym rozdzielczość cyfrowych urządzeń wykonujących pomiary", wprowadza dodatkowe zamieszanie, ponieważ ppi odnosi się do gęstości pikseli w obrazach, a nie do samych urządzeń pomiarowych, takich jak skanery czy kamery. Ostatnia propozycja, sugerująca, że ppi "jest jednostką rozdzielczości skanerów określającą częstość wykonywanych próbkowań obrazu", również jest myląca, ponieważ ppi nie odnosi się bezpośrednio do częstotliwości próbkowania, a raczej do gęstości pikseli po cyfryzacji obrazu. Przykładowo, urządzenie skanujące może pracować przy różnych ustawieniach dpi (dots per inch), co jest inną wartością niż ppi, a te dwie jednostki, choć powiązane, pełnią różne funkcje w kontekście cyfrowych obrazów. Dlatego kluczowe jest zrozumienie, że jednostka ppi jest ściśle związana z jakością i szczegółowością obrazów rastrowych, a nie z różnymi aspektami samego procesu skanowania czy drukowania.

Pytanie 22

Funkcja drzewo kontekstowe w edytorze WYSIWYG Adobe Dreamweaver ma na celu

A. określenie kaskadowych arkuszy stylów przypisanych do strony
B. stylizację tekstu za pomocą dostępnych znaczników
C. przygotowanie szablonu witryny internetowej
D. prezentowanie interaktywnej struktury drzewa HTML dla treści statycznych i dynamicznych
Wybór odpowiedzi dotyczącej definiowania kaskadowych arkuszy stylów (CSS) w kontekście funkcji drzewa kontekstowego w Adobe Dreamweaver jest mylący. Kaskadowe arkusze stylów są narzędziem służącym do stylizacji stron internetowych, ale nie są bezpośrednio związane z funkcjonalnością drzewa kontekstowego, które koncentruje się na przedstawieniu struktury HTML dokumentu. Kiedy projektant korzysta z edytora, może wprowadzać zmiany w stylach CSS, jednak drzewo kontekstowe nie jest dedykowane temu procesowi. Ponadto, zrozumienie struktury HTML jest kluczowe do efektywnego stosowania CSS, ale to nie oznacza, że można je mylić. Druga odpowiedź, dotycząca tworzenia szablonu strony internetowej, jest również nieprecyzyjna. Szablony są narzędziem do ułatwienia konstrukcji stron, ale drzewo kontekstowe nie jest bezpośrednio związane z ich tworzeniem. Podobnie, formatowanie tekstu przy pomocy znaczników nie jest funkcją drzewa kontekstowego; jest to zadanie edytora WYSIWYG jako całości. Zrozumienie tych koncepcji technicznych jest kluczowe, aby uniknąć typowych pułapek myślowych, takich jak mylenie różnych funkcji edytorów oraz ich zastosowań w procesie tworzenia stron internetowych. Osoby pracujące w branży powinny być dobrze zaznajomione z odpowiedzialnością, jaką niesie ze sobą poprawne stosowanie narzędzi i technologii, aby efektywnie realizować projekty webowe.

Pytanie 23

Jaką wartość zwróci funkcja

empty($a);
w języku PHP, gdy zmienna
$a
będzie miała wartość liczbową równą 0?
A. NULL
B. TRUE
C. FALSE
D. 0
Odpowiedzi, które wskazują, że funkcja empty() zwraca 0, FALSE lub NULL, są mylne z kilku powodów. Po pierwsze, wartość 0 w PHP to po prostu liczba i nie jest interpretowana jako pusta. Zmienne, które mają wartość 0 są traktowane jako fałszywe w kontekście logicznym, ale nie są uznawane za puste zgodnie z definicją funkcji empty(). Kiedy przyjmujemy, że empty($a) zwraca 0, w rzeczywistości mylimy funkcję empty() z innymi, które operują na wartościach liczbowych. Podobnie, FALSE jako wynik również nie jest poprawny; chociaż 0 jest uważane za fałszywe, empty() zwraca TRUE, a nie FALSE, gdy zmienna jest pusta. Także NULL to typ danych, a w kontekście empty() jest uznawany za pusty, ale nie jest to wynik, jaki uzyskalibyśmy dla zmiennej $a = 0. Właściwe zrozumienie zwrotów z funkcji PHP oraz typów danych jest kluczowe dla skutecznego programowania. Pomocne jest, aby programiści upewniali się, że korzystają z odpowiednich funkcji do określenia pustych wartości, a w przypadku empty() nie mogą pomylić jej działania z innymi funkcjami, które operują na wartościach logicznych lub liczbowych.

Pytanie 24

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

A. Barwienie.
B. Progowanie.
C. Krzywe.
D. Inwersja.
Wiele osób myli w GIMP-ie różne narzędzia z menu Kolory, bo na pierwszy rzut oka kilka z nich „mocno zmienia” obraz. Jednak efekt pokazany na filmie, gdzie obraz staje się dwuwartościowy (czarno-biały, bez półtonów), jest typowym działaniem funkcji Progowanie. Kluczowe jest tu zrozumienie, czym różnią się od siebie dostępne operacje. Krzywe służą do zaawansowanej korekcji tonalnej i kontrastu. Można nimi mocno przyciemnić lub rozjaśnić wybrane zakresy jasności, robić tzw. efekt kontrastu „S”, korygować prześwietlenia itd. Ale nawet przy bardzo agresywnych ustawieniach krzywych obraz nadal zawiera półtony – pojawiają się stopniowe przejścia między odcieniami, a nie ostre odcięcie na zasadzie czarne/białe. To świetne narzędzie do retuszu zdjęć, ale nie do uzyskania efektu progowania. Inwersja (Kolory → Inwersja) po prostu odwraca wartości kolorów lub jasności: jasne staje się ciemne, czerwony zmienia się na cyjan, zielony na magentę itd. To jak negatyw fotograficzny. Struktura szczegółów pozostaje identyczna, zmienia się tylko ich „biegun”. Nie pojawia się żadne odcięcie progowe, więc obraz wciąż ma pełne spektrum odcieni. W praktyce inwersja przydaje się np. przy przygotowaniu masek lub pracy z materiałami skanowanymi, ale nie generuje typowego, „plakatowego” efektu czerni i bieli jak progowanie. Barwienie z kolei (Kolory → Barwienie) służy do nadania całemu obrazowi jednolitego odcienia, zwykle po wcześniejszym sprowadzeniu go do skali szarości. Można w ten sposób uzyskać np. sepię, niebieski ton nocny albo dowolny kolorystyczny „filtr”. Jasność i kontrast lokalny pozostają bardzo podobne, zmienia się dominująca barwa. To zupełnie inna kategoria operacji niż progowanie, które pracuje na poziomie progów jasności, a nie na poziomie koloru. Typowym błędem jest patrzenie tylko na to, że „obraz bardzo się zmienił” i przypisywanie tego narzędziom takim jak krzywe czy inwersja. W pracy z grafiką warto zawsze zadać sobie pytanie: czy efekt polega na zmianie rozkładu jasności, na odwróceniu kolorów, czy na twardym podziale na dwa poziomy? Jeśli widzisz brak półtonów i ostre granice, praktycznie zawsze chodzi o progowanie, które zostało wskazane jako poprawna funkcja.

Pytanie 25

Gdzie należy umieścić znacznik meta w języku HTML?

A. między znacznikami body
B. w stopce strony internetowej
C. w sekcji nagłówkowej strony internetowej
D. między znacznikami paragrafu
Znacznik meta w języku HTML jest kluczowym elementem, który powinien być umieszczony w części nagłówkowej (head) dokumentu. Znaczniki meta służą do definiowania różnych informacji o stronie, takich jak zestaw znaków, opis, słowa kluczowe, autor oraz inne istotne dane, które nie są bezpośrednio wyświetlane na stronie. Przykładowo, znacznik meta z atrybutem 'charset' informuje przeglądarki, w jaki sposób interpretować znaki na stronie, co jest szczególnie ważne dla prawidłowego wyświetlania treści w różnych językach. Standardy HTML5 zalecają umieszczanie znaczników meta w nagłówku, aby umożliwić optymalizację SEO, co zwiększa widoczność strony w wynikach wyszukiwania. Dobrą praktyką jest również dodanie opisu strony przy pomocy znacznika meta 'description', co pozwala wyszukiwarkom na lepsze zrozumienie tematyki strony oraz zwiększa klikalność w wynikach wyszukiwania.

Pytanie 26

Który z czynników ma negatywny wpływ na efektywną współpracę w zespole?

A. wzajemny szacunek
B. jasny podział ról i obowiązków
C. efektywna komunikacja
D. rywalizacja między członkami zespołu
Efektywna współpraca w zespole opiera się na zaufaniu, wzajemnym szacunku, dobrej komunikacji i jasnym podziale ról. Czynnikiem, który ją osłabia, jest rywalizacja między członkami zespołu - zamiast dążyć do wspólnego celu, ludzie zaczynają konkurować, ukrywać informacje i przypisywać sobie zasługi, co rodzi konflikty. Zdrowa współpraca stawia na wspólny wynik, a nie na pokonanie kolegów. Dlatego negatywny wpływ ma rywalizacja w zespole.

Pytanie 27

Na czym polega walidacja strony internetowej?

A. na działaniach zwiększających liczbę odwiedzin
B. na sprawdzeniu jej w celu wykrycia i usunięcia błędów
C. na reklamie strony
D. na udostępnieniu jej w Internecie
Walidacja strony internetowej to sprawdzenie jej kodu (np. HTML, CSS) pod kątem zgodności ze standardami W3C, w celu wykrycia i usunięcia błędów. Poprawny kod lepiej wyświetla się w różnych przeglądarkach. Dlatego walidacja to wykrywanie i usuwanie błędów.

Pytanie 28

Jakie są etapy w odpowiedniej kolejności przy tworzeniu aplikacji?

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
B. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
C. Analiza oczekiwań klienta, określenie wymagań, programowanie, wdrożenie, testowanie
D. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
Odpowiedź wskazująca na kolejność: analiza wymagań klienta, specyfikacja wymagań, tworzenie, testy, wdrażanie jest poprawna i odzwierciedla standardowy model cyklu życia oprogramowania (SDLC). Zaczynamy od analizy wymagań, co oznacza zrozumienie potrzeb klienta i zebranie informacji, które będą fundamentem dalszych prac. Następnie przechodzimy do specyfikacji wymagań, gdzie dokumentujemy te potrzeby w formie, która będzie zrozumiała dla zespołu developerskiego. Tworzenie aplikacji następuje po szczegółowym omówieniu i zaakceptowaniu wymagań, co minimalizuje ryzyko błędów. Testy są kluczowym etapem, który pozwala na weryfikację, czy stworzone rozwiązanie spełnia wymagania oraz działa zgodnie z założeniami. Ostateczne wdrożenie aplikacji do użytkowania powinno nastąpić po przeprowadzeniu wszystkich testów i uzyskaniu pozytywnych wyników. Przykład zastosowania tej metodologii można zaobserwować w projektach realizowanych w metodologii Agile, gdzie iteracje pozwalają na ciągłe dostosowywanie aplikacji do zmieniających się potrzeb klienta. Takie podejście zwiększa satysfakcję użytkowników i minimalizuje koszty związane z poprawkami.

Pytanie 29

Które znaczniki HTML wyświetlą tekst „Dobre strony mojej strony” w JEDNYM wierszu, jeśli nie zastosowano żadnych reguł CSS?

A.
<div>Dobre strony </div><div style="letter-spacing:3px">mojej strony</div>
B.
<span>Dobre strony </span><span style="letter-spacing:3px">mojej strony</span>
C.
<p>Dobre strony </p><p style="letter-spacing:3px">mojej strony</p>
D.
<h3>Dobre strony </h3><h3 style="letter-spacing:3px">mojej strony</h3>
Pozostałe znaczniki są BLOKOWE, więc każdy zaczyna się od nowej linii i rozbiłby tekst na osobne wiersze. Dotyczy to <p> (akapit), <h3> (nagłówek) oraz <div> (kontener). W jednym wierszu tekst utrzyma liniowy <span>.

Pytanie 30

Istnieje tabela programisci z polami: id, nick, ilosc_kodu, ocena. Wartość w polu ilosc_kodu przedstawia liczbę linii kodu, które dany programista stworzył w określonym miesiącu. Aby obliczyć całkowitą liczbę linii kodu napisanych przez wszystkich programistów, należy zastosować następujące polecenie

A. SELECT SUM(ocena) FROM ilosc_kodu;
B. SELECT COUNT(programisci) FROM ilosc_kodu;
C. SELECT SUM(ilosc_kodu) FROM programisci;
D. SELECT MAX(ilosc_kodu) FROM programisci;
Poprawna odpowiedź to "SELECT SUM(ilosc_kodu) FROM programisci;" ponieważ to zapytanie dokładnie ilustruje, jak można obliczyć sumę wszystkich linii kodu napisanych przez programistów. Funkcja agregująca SUM() służy do sumowania wartości w podanym polu, które w tym przypadku jest polem "ilosc_kodu". W kontekście relacyjnych baz danych, stosowanie funkcji agregujących jest kluczowe do analizy danych w sposób statystyczny. W praktyce, takie zapytanie może być przydatne w raportach dotyczących wydajności zespołu programistycznego, gdzie analiza sumy napisanych linii kodu pozwala na ocenę produktywności oraz identyfikację programistów, którzy mogą potrzebować wsparcia w realizacji zadań. Ponadto, zgodnie z najlepszymi praktykami SQL, warto być świadomym kontekstu zapytań, a dobór odpowiednich funkcji agregujących, takich jak SUM(), COUNT(), AVG() itp., jest niezbędny do efektywnego przetwarzania danych.

Pytanie 31

Podczas definiowania tabeli produkty należy stworzyć pole cena, które będzie reprezentować wartość produktu. Odpowiedni typ danych dla tego pola to

A. DECIMAL(10, 2)
B. INTEGER(11)
C. ENUM
D. TINYTEXT
Wybór typów danych dla pola przechowującego cenę produktu ma kluczowe znaczenie dla poprawności funkcjonowania bazy danych. INTEGER(11) jest typem, który przechowuje liczby całkowite, co oznacza, że nie może być zastosowany do reprezentacji wartości z miejscami dziesiętnymi, co jest niezbędne w przypadku cen. Użycie INTEGER może prowadzić do poważnych problemów, jak zaokrąglanie cen, co w branży handlowej może skutkować błędnymi transakcjami. TINYTEXT to typ danych przeznaczony do przechowywania tekstu, co czyni go całkowicie nieodpowiednim do reprezentacji wartości liczbowych, a tym bardziej cen. W przypadku zastosowania TINYTEXT w tym kontekście, nie tylko utracimy możliwość przeprowadzania obliczeń na cenach, ale również stworzymy dodatkowe problemy z wydajnością bazy danych, ponieważ operacje na tekstach są znacznie wolniejsze niż na liczbach. Z kolei ENUM, który jest używany do określenia zestawu dozwolonych wartości, nie ma zastosowania w kontekście cen, które mogą się zmieniać i nie są ograniczone do stałego zestawu opcji. Użycie ENUM do reprezentacji cen prowadziłoby do nieefektywności, ponieważ każda zmiana ceny wymagałaby modyfikacji definicji pola. Typowe błędy myślowe prowadzące do takich niepoprawnych wniosków to brak zrozumienia znaczenia precyzyjnego przechowywania danych finansowych oraz nieznajomość dostępnych typów danych i ich zastosowań w kontekście konkretnej aplikacji.

Pytanie 32

Definicja stylu w CSS, którą zaprezentowano, dotyczy odsyłacza, który

a:visited {color: orange;}
A. jeszcze nigdy nie został odwiedzony
B. był wcześniej odwiedzany
C. posiada niepoprawny adres URL
D. ma wskaźnik myszy umieszczony nad sobą
Pseudoklasa :hover w CSS odnosi się do odsyłaczy, które znajdują się pod wskaźnikiem myszy. Innymi słowy, jest to sposób na stylizowanie elementów, gdy użytkownik umieści nad nimi kursor. Jest powszechnie używana w interfejsach użytkownika do podkreślenia elementów reagujących na interakcje, ale nie ma związku z odwiedzonymi linkami. Błąd w adresie URL nie jest w ogóle związany z CSS, ale raczej z błędami na stronie lub wprowadzaniem danych przez użytkownika. CSS nie ma możliwości określania, czy URL jest poprawny. Pseudoklasa :link w CSS odnosi się do odsyłaczy, które jeszcze nie zostały odwiedzone. Stosuje się ją, aby przypisać styl wszystkim nieodwiedzonym linkom na stronie. Jest to część podstawowych mechanizmów nawigacyjnych stron internetowych, zapewniająca użytkownikowi wizualne wskazówki dotyczące interakcji z linkami. Zrozumienie różnic między pseudoklasami :hover :visited i :link jest kluczowe w projektowaniu intuicyjnych i funkcjonalnych interfejsów użytkownika. Stosowanie odpowiednich stylów do odsyłaczy poprawia nie tylko estetykę strony, ale także jej dostępność i użyteczność dla użytkowników. Dlatego istotne jest, aby projektanci stron mieli świadomość tych różnic i potrafili je efektywnie zastosować w praktyce w ramach standardów CSS i dostępności webowej.

Pytanie 33

Jakie możliwości daje funkcja phpinfo()?

A. zweryfikowanie wartości zmiennych użytych w kodzie PHP
B. analizowanie kodu PHP
C. uruchomienie kodu w języku PHP
D. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
Analizując odpowiedzi, można zauważyć, że niektóre z nich mogą wydawać się logiczne, ale są mylące w kontekście działania funkcji phpinfo(). Na przykład, debugowanie kodu PHP to proces, który wymaga narzędzi takich jak Xdebug, które umożliwiają śledzenie wykonania skryptów, a nie prostego wyświetlania informacji konfiguracyjnych. Również zainicjowanie kodu w języku PHP nie jest właściwym opisem tej funkcji, ponieważ phpinfo() nie służy do uruchamiania skryptów, lecz do prezentacji stanu środowiska PHP. Kolejnym błędnym podejściem jest sądzenie, że phpinfo() może sprawdzić wartości zmiennych użytych w kodzie PHP – w rzeczywistości, funkcja ta nie ma na celu monitorowania wartości zmiennych, lecz skupia się na ogólnych informacjach o systemie. Użytkownicy często mylą funkcje diagnostyczne z funkcjami informacyjnymi, co prowadzi do nieporozumień w zakresie ich zastosowania. Kluczowym aspektem jest zrozumienie, że phpinfo() to narzędzie do zbierania informacji o konfiguracji, a nie do interakcji z kodem źródłowym. Ważne jest również, aby pamiętać o bezpieczeństwie, ponieważ publiczne udostępnienie wyników phpinfo() może narazić serwer na ataki, ujawniając szczegóły dotyczące jego konfiguracji. Zrozumienie tych różnic jest kluczowe dla prawidłowego korzystania z PHP i zarządzania aplikacjami w tym języku.

Pytanie 34

Jak nazywa się technologia, w której komunikacja z serwerem odbywa się bez przeładowania całej strony?

A. PHP
B. Django
C. Ruby
D. AJAX
Pozostałe odpowiedzi to nie ta technika. Django to framework webowy w Pythonie, a Ruby to język programowania - służą do budowy aplikacji, a nie są samą metodą asynchronicznej wymiany. PHP działa po stronie serwera i samo z siebie nie aktualizuje strony bez przeładowania. Komunikację z serwerem bez przeładowania realizuje AJAX.

Pytanie 35

Deklaracja typu dokumentu HTML: <!DOCTYPE HTML> wskazuje, że kod został stworzony w wersji

A. 6
B. 7
C. 4
D. 5
Gdy widzisz deklarację <!DOCTYPE HTML>, to znaczy, że mówimy o wersji HTML5. To obecny standard, który wprowadza naprawdę sporo nowych funkcji w porównaniu do wcześniejszych wersji. Na przykład, HTML5 pozwala na osadzanie audio i wideo bez potrzeby dodatkowych wtyczek, co jest super wygodne. Mamy też fajne semantyczne elementy jak <article>, <section> czy <nav>, które sprawiają, że łatwiej zorganizować treści na stronie. Ważne jest, żeby zawsze na początku dokumentu umieszczać tę deklarację, bo to pozwala przeglądarkom na prawidłowe wyświetlanie strony. Dzięki temu unikamy problemów z interpretacją kodu, co z doświadczenia mówię, jest naprawdę istotne.

Pytanie 36

Metainformacja „Description” zawarta w pliku źródłowym HTML powinna zawierać

<head>
    <meta name="description" content="...">
</head>
A. informację o tym, kto jest autorem strony.
B. nazwę programu, przy użyciu którego została stworzona strona.
C. opis tego, co znajduje się na stronie.
D. wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe.
Należy podkreślić, że choć autor strony czy program, którym strona została stworzona, to informacje mogą być ciekawe, nie są one celem metainformacji 'Description'. Informacje o autorstwie czy narzędziach służących do stworzenia strony mogą zostać uwzględnione w innych metatagach lub sekcjach strony, ale nie w 'Description'. Na przykład, metatag 'author' jest przeznaczony do wskazywania autora strony. Podobnie, informacje o oprogramowaniu, które zostało użyte do stworzenia strony, zwykle są zawarte w metatagu 'generator'. Co do wyrazów kluczowych, to choć są one istotne dla optymalizacji strony pod kątem wyszukiwarek, nie powinny być jedyną zawartością metatagu 'Description'. Kluczowe słowa powinny być raczej wplecione w naturalny, czytelny dla użytkownika opis strony. W ten sposób 'Description' staje się efektywnym narzędziem SEO, które pomaga zwiększyć ruch na stronie.

Pytanie 37

Które kolory tła zostały przypisane odpowiednio do akapitów o identyfikatorach 1, 2, 3, 4?

<p id="1" style="background-color:rgb(128,128,128);"> Akapit 1</p>
<p id="2" style="background-color:rgb(255,255,0);"> Akapit 2</p>
<p id="3" style="background-color:rgb(0,128,0);"> Akapit 3</p>
<p id="4" style="background-color:rgb(0,0,255);"> Akapit 4</p>
A. Żółty, czerwony, zielony, szary.
B. Szary, niebieski, czerwony, żółty.
C. Żółty, zielony, czerwony, szary.
D. Szary, żółty, zielony, niebieski.
Poprawnie powiązałeś zapis w notacji RGB z nazwami kolorów. W kodzie CSS zapis rgb(128,128,128) oznacza kolor, w którym wartości składowych czerwonej, zielonej i niebieskiej są równe, a dość niskie, co daje odcień szarości – stąd tło akapitu o id="1" jest szare. W rgb(255,255,0) maksymalna jest czerwień i zieleń, a niebieski ma wartość 0, co w modelu barw RGB daje kolor żółty – taki kolor ma akapit o id="2". Z kolei rgb(0,128,0) to tylko składowa zielona o średniej intensywności, więc wychodzi ciemniejsza zieleń i to jest tło akapitu o id="3". Ostatni zapis rgb(0,0,255) to maksymalna składowa niebieska, więc mamy wyraźny niebieski kolor tła dla akapitu o id="4". W praktyce webowej takie bezpośrednie użycie rgb() w atrybucie style jest poprawne, ale z mojego doświadczenia lepiej jest przenosić te style do arkusza CSS i używać klas, np. .bg-gray, .bg-yellow itp. Ułatwia to późniejszą modyfikację wyglądu strony i trzymanie się zasady rozdzielenia struktury (HTML) od prezentacji (CSS), co jest zgodne z dobrymi praktykami i rekomendacjami W3C. Warto też kojarzyć liczby z odpowiadającymi im nazwami kolorów: 255 to maksimum, 0 to brak danej składowej, a wartości pośrednie (np. 128) dają ciemniejsze odcienie. W projektach komercyjnych często używa się też zapisu heksadecymalnego (#808080 dla szarego, #FFFF00 dla żółtego, #008000 dla zielonego, #0000FF dla niebieskiego), ale mechanizm jest dokładnie ten sam – opisujemy intensywność kanałów R, G i B.

Pytanie 38

Jednoznacznym identyfikatorem rekordu w bazie danych jest pole

A. wyłącznie typu logicznego.
B. klucza głównego.
C. wyłącznie typu tekstowego.
D. klucza obcego.
Poprawna jest odpowiedź dotycząca klucza głównego, bo to właśnie pole (lub zestaw pól) oznaczone jako PRIMARY KEY w tabeli pełni rolę jednoznacznego identyfikatora rekordu. W praktyce oznacza to, że dla każdej krotki (wiersza) w tabeli wartość klucza głównego musi być unikalna i nie może być pusta (NULL). Systemy baz danych, takie jak MySQL, PostgreSQL, SQL Server czy Oracle, egzekwują te zasady automatycznie – jeśli spróbujesz wstawić drugi rekord z tą samą wartością klucza głównego, dostaniesz błąd naruszenia unikalności. Moim zdaniem to jedna z kluczowych zasad normalnego projektowania baz danych: zawsze projektujemy tabelę zaczynając od przemyślania klucza głównego. W aplikacjach webowych bardzo często używa się prostego klucza głównego typu liczbowego (np. INT AUTO_INCREMENT lub SERIAL), który jest technicznym identyfikatorem rekordu. Dzięki temu łatwo się odwołać do konkretnego użytkownika, zamówienia czy produktu po jego ID. Klucz główny jest też podstawą do definiowania kluczy obcych w innych tabelach – relacje typu 1:N czy N:M opierają się właśnie na odwołaniach do wartości PRIMARY KEY. Z mojego doświadczenia wynika, że stosowanie sztucznych (surrogate) kluczy głównych, zamiast kombinowania z wieloma polami naturalnymi, upraszcza później zapytania SQL, modyfikacje struktury i integrację z kodem w PHP czy JavaScript. W dobrze zaprojektowanej bazie danych każda tabela relacyjna powinna mieć jasno zdefiniowany klucz główny, bo bez tego trudno mówić o porządnym zarządzaniu danymi, spójności referencyjnej i wydajnym indeksowaniu.

Pytanie 39

W HTML znacznik tekst będzie wyświetlany przez przeglądarkę w taki sam sposób jak znacznik

A. <big>tekst</big>
B. <b>tekst</b>
C. <h1>tekst</h1>
D. <sub>tekst</sub>
Znacznik <strong> jest używany w HTML do oznaczania tekstu, który ma być wyróżniony ze względu na jego ważność. Jest to związane z semantyką dokumentu. Chociaż <strong> i <b> wyświetlają tekst w podobny sposób (zazwyczaj pogrubiony), mają inne znaczenie. Znacznik <b> jest używany do czysto wizualnego wyróżnienia, bez przypisywania wartości semantycznej. Dlatego, gdy używamy <strong>, nie tylko zmieniamy wygląd tekstu, lecz także informujemy przeglądarkę i dostępne technologie, że ten element ma szczególne znaczenie. Przykładem praktycznego zastosowania <strong> może być wyróżnienie kluczowych informacji w artykule, co wpływa na zrozumienie treści przez użytkowników oraz poprawia dostępność strony. Warto pamiętać, że stosowanie odpowiednich znaczników zgodnie z ich przeznaczeniem jest zgodne z zasadami HTML5 i poprawia SEO, ponieważ wyszukiwarki lepiej rozumieją kontekst strony, co jest kluczowe dla jej indeksacji.

Pytanie 40

Który kod HTML zapewni identyczny efekt formatowania jak na przedstawionym obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML
A. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>
B. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>
C. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>
D. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>
Odpowiedź numer 2 jest poprawna, ponieważ używa odpowiednich znaczników HTML do formatowania tekstu. Znacznik <i> stosowany jest do oznaczania tekstu kursywą, a znacznik <b> do pogrubienia. W tym przypadku tekst 'paragrafie' i 'sposoby formatowania' są otoczone znacznikiem <i>, co zgodnie z HTML oznacza kursywę. Natomiast słowo 'zobaczysz' jest otoczone zarówno <b> jak i <i>, co skutkuje pogrubieniem i kursywą jednocześnie. Taka struktura jest zgodna z konwencją hierarchii znaczników, która mówi, że znaczniki mogą być zagnieżdżane, aby uzyskać różne efekty formatowania. HTML pozwala na takie zagnieżdżanie, co jest częścią elastyczności tego języka w prezentowaniu treści. Dobrą praktyką jest także zapewnienie dostępności, gdzie znaczniki semantyczne mają szczególne znaczenie. Wykorzystanie <b> i <i> zamiast odpowiednio <strong> i <em> jest bardziej stylistyczne niż semantyczne, co ma swoje uzasadnienie w kontekście projektowym, ale w nowoczesnych praktykach powinno się również rozważyć znaczenie semantyczne i używać <strong> i <em> dla lepszego zrozumienia przez czytniki ekranowe.