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: 1 maja 2026 20:18
  • Data zakończenia: 1 maja 2026 20:26

Egzamin zdany!

Wynik: 24/40 punktów (60,0%)

Wymagane minimum: 20 punktów (50%)

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

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))
Poprawna odpowiedź (a > 0) || ((b >= 10) && (b <= 100)) uwzględnia wymaganie, aby warunek był spełniony, gdy zmienna a jest liczbą naturalną dodatnią bądź zmienna b znajduje się w przedziale od 10 do 100, włącznie. W tym przypadku użycie operatora logicznego '||' (lub) jest kluczowe, ponieważ wystarczy, że jeden z warunków będzie prawdziwy, aby cały warunek był spełniony. Przykładem może być skrypt walidujący dane wejściowe użytkownika: jeśli zmienna a przechowuje wartość 5 (czyli liczbę naturalną dodatnią), to niezależnie od wartości zmiennej b, warunek będzie prawdziwy. Analogicznie, jeśli a wynosi 0, a b = 15, warunek również będzie spełniony, ponieważ b mieści się w wymaganym przedziale. Taka konstrukcja warunku jest zgodna z dobrą praktyką programistyczną, gdyż pozwala na jasne i zrozumiałe określenie, kiedy pewne zasady powinny być stosowane. Zastosowanie operatorów logicznych w taki sposób wspiera tworzenie czytelnych i elastycznych warunków, co jest istotne w kontekście utrzymania kodu i jego przyszłych modyfikacji.

Pytanie 2

Zawarte polecenie SQL wykonuje

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

Pytanie 3

Która z wymienionych metod umożliwia wyświetlenie komunikatu w konsoli przeglądarki internetowej przy użyciu języka JavaScript?

A. console.echo("test");
B. console.log("test");
C. console.write("test");
D. console.print("test");
Odpowiedź 'console.log("test");' jest poprawna, ponieważ jest to standardowa metoda w JavaScript, służąca do wypisywania komunikatów w konsoli przeglądarki. Funkcja console.log jest powszechnie stosowana przez programistów do debugowania kodu i monitorowania wartości zmiennych w czasie rzeczywistym. Umożliwia to efektywne śledzenie działania aplikacji internetowych oraz szybkie identyfikowanie błędów. Przykładowo, jeśli chcemy sprawdzić wartość zmiennej, możemy użyć polecenia console.log(myVariable);, co pozwoli nam zobaczyć aktualny stan zmiennej w konsoli. Warto również pamiętać, że console.log obsługuje różne typy danych, w tym obiekty i tablice, co czyni go niezwykle wszechstronnym narzędziem w arsenale programisty. Używanie tej metody jest zgodne z dobrymi praktykami w programowaniu, ponieważ pozwala na przejrzystość i lepsze zrozumienie logiki aplikacji. W kontekście pracy z konsolą, warto zaznajomić się również z innymi metodami, takimi jak console.error, console.warn czy console.info, które umożliwiają różnicowanie wypisywanych komunikatów według ich znaczenia.

Pytanie 4

Deklaracja z właściwością background-attachment: scroll sprawia, że

A. grafika tła będzie widoczna w prawym górnym rogu strony
B. tło strony zostanie zamocowane, a tekst będzie się poruszał
C. tło strony będzie przesuwane razem z zawartością tekstową
D. grafika tła będzie się powtarzać (kafelki)
Właściwość CSS 'background-attachment: scroll' oznacza, że tło elementu będzie przewijane w równym tempie z treścią na stronie. Kiedy użytkownik przegląda stronę i przewija ją w dół lub w górę, tło przesuwa się razem z zawartością, co tworzy wrażenie głębokości i dynamiki. Przykładem zastosowania tej właściwości może być strona internetowa z długim tekstem, gdzie tło, takie jak kolor lub obraz, jest częścią estetyki projektu, ale nie powinno być statyczne. Warto zauważyć, że można to osiągnąć, ustawiając 'background-attachment' na 'scroll', co jest najczęściej stosowanym ustawieniem. W standardach CSS3 'background-attachment' ma cztery możliwe wartości: 'scroll', 'fixed', 'local', oraz 'inherit'. Stosowanie 'scroll' jest najbardziej intuicyjne i wspiera responsywność, ponieważ zmienia się w zależności od interakcji użytkownika z zawartością. To podejście jest zgodne z praktykami projektowania stron internetowych, które kładą nacisk na użytkownika i interaktywność.

Pytanie 5

Obiektem w bazie danych, który wykorzystywany jest do podsumowywania, prezentacji oraz drukowania danych, jest

A. zapytanie
B. formularz
C. zestawienie
D. raport
Raport jest obiektem baz danych, który służy do podsumowywania, wyświetlania oraz wydruków danych. Jego główną funkcją jest agregacja i prezentacja informacji w sposób przystępny dla użytkownika. Raporty mogą być wykorzystywane do analizy danych, prezentacji wyników oraz podejmowania decyzji biznesowych. Przykładem zastosowania raportu może być generowanie miesięcznego raportu sprzedaży, który zawiera szczegółowe informacje o przychodach, kosztach oraz zyskach w danym okresie. Z perspektywy dobrych praktyk, raporty powinny być projektowane w taki sposób, aby były czytelne i zrozumiałe, a ich struktura powinna być zgodna z wymaganiami użytkowników. W kontekście standardów, raporty mogą być również generowane automatycznie przy użyciu narzędzi business intelligence, co pozwala na zwiększenie efektywności i dokładności analiz. Dobrze zdefiniowane raporty przyczyniają się do lepszego zrozumienia zbiorów danych oraz wspierają procesy decyzyjne w organizacji.

Pytanie 6

Znaczniki HTML <strong> oraz <em>, które służą do wyróżniania istotności tekstu, odpowiadają pod względem formatowania znacznikom

A. <b> oraz <i>
B. <i> oraz <mark>
C. <b> oraz <u>
D. <u> oraz <sup>
Odpowiedzi wskazujące na <u> oraz <sup> nie są właściwe w kontekście wyróżniania istotności tekstu. Znacznik <u> oznacza tekst podkreślony, co nie jest związane z jego semantycznym znaczeniem w HTML. W przeszłości używano go do podkreślania tekstu, ale nie ma on związku z wagi treści, co czyni go mniej odpowiednim do tworzenia treści dostępnych i zrozumiałych. Użytkownicy technologii wspomagających mogą mieć trudności w zrozumieniu, dlaczego tekst jest podkreślony, gdyż niekoniecznie oznacza to, że jest on ważny. Podobnie, <sup> jest znacznikiem używanym do oznaczania tekstu w indeksie górnym, co ma zastosowanie w kontekście matematycznym lub chemicznym, ale także nie ma związku z semantycznym wyróżnianiem treści. Z kolei odpowiedzi wskazujące na <i> oraz <mark> także są niepoprawne, ponieważ <mark> służy do oznaczania tekstu, który został wyróżniony, na przykład w kontekście wyszukiwania, ale niekoniecznie odzwierciedla istotność. Ostatecznie, znacznik <i> jest używany do stylizacji tekstu w kursywie, co także nie koresponduje z semantycznym znaczeniem wyróżnienia ważności. Przy opracowywaniu treści w HTML należy unikać stosowania znaczników jedynie do celów formatowania, a zamiast tego korzystać z semantycznych znaczników, aby poprawić dostępność oraz interpretację contentu.

Pytanie 7

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: right; }
B. aside {float: left; }
C. nav { float: left; } aside { float: left; }
D. nav { float: right; } section { float: right; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 8

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. placeholder
B. autofocus
C. required
D. pattern
Poprawny atrybut to "placeholder". W HTML5 ten atrybut służy do wyświetlania tymczasowej podpowiedzi wewnątrz pola tekstowego, zanim użytkownik cokolwiek wpisze. Przeglądarka pokazuje ten tekst jaśniejszym kolorem i znika on automatycznie w momencie rozpoczęcia edycji. Z mojego doświadczenia to jest podstawowe narzędzie do delikatnego sugerowania użytkownikowi, czego dokładnie oczekujemy w danym polu. Przykład praktyczny: <input type="text" name="email" placeholder="np. [email protected]"> Tutaj placeholder pokazuje przykładowy format adresu e-mail, ale nie jest to domyślna wartość formularza – ten tekst nie zostanie wysłany na serwer, jeśli użytkownik nic nie wpisze. To ważne: placeholder to tylko wskazówka wizualna, nie zastępuje etykiety <label> ani walidacji. Dobre praktyki mówią, żeby używać placeholdera do krótkich, konkretnych podpowiedzi: format danych, przykład wpisu, skrócona instrukcja. Nie powinno się tam wrzucać długich opisów, bo użytkownik i tak ich nie zapamięta. W standardach dostępności (WCAG) podkreśla się też, że placeholder nie może zastępować labelki, bo osoby z niektórymi niepełnosprawnościami mogą mieć problem z jego odczytaniem. W realnych projektach stosuje się więc układ: opis pola w <label>, a w placeholderze tylko przykład, np. "123-456-789" dla telefonu albo "2024-12-31" dla daty. Taki sposób użycia jest uznawany za poprawny i profesjonalny.

Pytanie 9

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 100 iteracji
B. 9 iteracji
C. 11 iteracji
D. 10 iteracji
Podana pętla w języku PHP jest zdefiniowana jako: for ($i = 10; $i <= 100; $i += 10). W tym przypadku, zmienna sterująca $i jest inicjalizowana na wartość 10 i jest inkrementowana o 10 w każdej iteracji, aż osiągnie wartość 100 włącznie. Zatem, możliwe wartości zmiennej $i podczas powtórzeń pętli będą: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. W sumie daje to 10 powtórzeń, ponieważ pętla wykonuje się także dla wartości 100. W praktyce, znajomość struktur pętli w PHP jest kluczowa, szczególnie podczas przetwarzania dużych zbiorów danych, gdzie efektywność i precyzyjne kontrolowanie liczby iteracji mogą znacznie wpłynąć na wydajność skryptów. Przy implementacji pętli, warto również pamiętać o standardach czystości kodu oraz zasadach DRY (Don't Repeat Yourself), co pozwala na utrzymanie czytelności i ułatwia przyszłe modyfikacje kodu.

Pytanie 10

Który z elementów relacyjnej bazy danych, zapisany w języku SQL, może być wykorzystany w zapytaniach modyfikujących kolumny danych udostępnione jako tabela, niezależnie od tego, czy jest stworzony programowo, czy dynamicznie?

A. Funkcja zdefiniowana
B. Trigger
C. Procedura składowa
D. Zasada
Kiedy analizujemy inne obiekty bazy danych, takie jak reguły, wyzwalacze i procedury składowe, możemy zidentyfikować, dlaczego nie są one odpowiednie w kontekście tego pytania. Reguły w SQL są używane do automatyzacji modyfikacji zapytań, ale ich zastosowanie jest ograniczone i rzadko używane w nowoczesnych bazach danych. Reguły są rzeczywiście często pomijane w nowoczesnych implementacjach ze względu na ich złożoność oraz ograniczenia w stosowaniu. Wyzwalacze natomiast są mechanizmami, które automatycznie wywołują się w odpowiedzi na określone zdarzenia w bazie danych, takie jak dodawanie, aktualizacja lub usuwanie rekordów. Choć mogą modyfikować dane, to nie są one wywoływane bezpośrednio przez zapytania, a raczej jako odpowiedź na zdarzenia, co czyni je mniej elastycznymi w kontekście bezpośrednich zapytań. Procedury składowe są kolejnym typem obiektu bazy danych, które mogą implementować złożoną logikę, jednak są one zazwyczaj wywoływane jako całość i nie mogą być używane w kontekście zapytań modyfikujących dane, jak to ma miejsce w przypadku funkcji zdefiniowanej. Zatem w kontekście elastyczności i modułowości w modyfikacjach danych, funkcje zdefiniowane pozostają najodpowiedniejszym rozwiązaniem.

Pytanie 11

Osobistym środkiem ochrony dla oczu i twarzy może być

A. przyłbica
B. osłona pleksi pomiędzy stanowiskami pracy
C. sprzęt filtrujący powietrze
D. fartuch ochronny
Przyłbica jest indywidualnym środkiem ochrony oczu i twarzy, zaprojektowanym w celu ochrony przed szkodliwymi czynnikami mechanicznymi, chemicznymi oraz biologicznymi. Wykorzystanie przyłbic jest szczególnie istotne w środowiskach, gdzie istnieje ryzyko wystawienia pracowników na działanie odprysków, substancji chemicznych lub zagrożeń biologicznych, jak wirusy czy bakterie. Przykładem zastosowania przyłbic jest praca w laboratoriach chemicznych, podczas spawania, bądź w przemyśle drzewnym, gdzie odpryski materiału mogą być niebezpieczne. Dobrze zaprojektowana przyłbica powinna spełniać normy EN 166, które określają wymagania dotyczące ochrony oczu. Warto również zauważyć, że przyłbice mogą być stosowane w połączeniu z innymi środkami ochrony osobistej, takimi jak maski ochronne czy rękawice, co zwiększa poziom bezpieczeństwa pracowników. Dzięki możliwości łatwej dezynfekcji i przejrzystości materiału, przyłbice stanowią wygodny i efektywny sposób na zapewnienie bezpieczeństwa w różnych branżach. W kontekście pandemii COVID-19, ich popularność wzrosła jako dodatkowy środek ochrony zdrowia, co podkreśla ich uniwersalność i znaczenie w nowoczesnym podejściu do BHP.

Pytanie 12

W kodzie HTML 5, w celu walidacji wartości pola <input type="text"> za pomocą wyrażenia regularnego, należy użyć atrybutu

A. pattern
B. readonly
C. value
D. step
W tym pytaniu chodzi o konkretny mechanizm walidacji wbudowany w HTML5, a nie o ogólne właściwości pól formularza. Walidacja za pomocą wyrażeń regularnych jest w standardzie przypisana do jednego, ściśle określonego atrybutu – właśnie pattern. Inne atrybuty z listy pełnią zupełnie inne role i ich mylenie to dość typowy błąd przy nauce formularzy. Atrybut step jest używany do określania „kroku” dla wartości liczbowych lub dat, np. w input type="number" czy type="date". Pozwala zdefiniować, o ile ma się zwiększać lub zmniejszać wartość przy użyciu strzałek lub walidować, czy liczba jest wielokrotnością danego kroku. Przykład: step="0.5" przy liczbie zmiennoprzecinkowej. Nie ma on żadnego związku z wyrażeniami regularnymi ani ze zwykłym tekstem w type="text". value z kolei to po prostu wartość pola – początkowa (domyślna) lub aktualna, odczytywana i modyfikowana przez JavaScript lub wysyłana w formularzu. Ustawienie value nie waliduje danych, tylko je definiuje. Można wprawdzie ręcznie sprawdzać value w JS i dopasowywać je do regexa, ale to już logika skryptu, a nie działanie samego atrybutu w HTML. To pewnie częsty skrót myślowy: „wartość pola” vs. „sprawdzenie wartości pola”, ale przeglądarka sama z siebie nie waliduje na podstawie samego value. readonly natomiast blokuje możliwość edycji pola przez użytkownika, ale nadal wysyła jego wartość z formularzem. To przydatne, gdy chcemy coś pokazać, ale nie pozwolić na zmianę, np. wygenerowany identyfikator. Nie ma tu żadnej analizy treści, żadnego dopasowywania do wzorca – po prostu pole jest nieedytowalne. Czasem ktoś myśli: „skoro nie można tego zmienić, to jakby jest bezpieczne i zwalidowane”, ale to już bardziej kwestia logiki aplikacji, a nie mechanizmu walidacji. Mechanizm HTML5 do regexów jest jeden: pattern. Warto go łączyć z innymi atrybutami walidacyjnymi, jak required, minlength, maxlength, type, ale to właśnie pattern odpowiada za dopasowanie tekstu do określonego wzorca. Wszystko inne z tej listy pełni pomocnicze lub zupełnie inne funkcje i nie zastępuje typowej walidacji opartej o wyrażenia regularne.

Pytanie 13

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

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

Pytanie 14

Która metoda obiektu location w języku JavaScript pozwala na zamianę aktualnego dokumentu na dokument z adresu podanego w parametrze metody?

A. close();
B. reaload();
C. open();
D. replace();
Metoda replace() obiektu location w JavaScript jest kluczowym narzędziem umożliwiającym zastąpienie bieżącego dokumentu nowym dokumentem wskazywanym przez zdefiniowany adres URL. Kiedy używamy location.replace(url), przeglądarka ładuje nowy dokument z podanego adresu, a bieżąca strona nie pozostaje w historii przeglądania, co oznacza, że użytkownik nie może wrócić do niej za pomocą przycisku "wstecz". Jest to szczególnie użyteczne w scenariuszach, gdy chcemy uniknąć zbędnego gromadzenia historii, na przykład w aplikacjach jednoskalowych (SPA), gdzie nawigacja pomiędzy różnymi widokami powinna być płynna. Przykładowo, po zalogowaniu użytkownika, można przekierować go na stronę główną aplikacji, używając location.replace('/home'). Warto również wspomnieć, że stosowanie tej metody jest zgodne z najlepszymi praktykami w zakresie UX, gdyż pozwala na lepsze zarządzanie historią przeglądarki, co może poprawić doświadczenia użytkownika.

Pytanie 15

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

Ilustracja do pytania
A. błędu związane z nieprawidłową liczbą pól
B. zignorowania polecenia, tabela nie ulegnie zmianie
C. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
D. wprowadzenia rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
W przypadku bazy danych MySQL, klucz główny zdefiniowany z atrybutem AUTO-INCREMENT pełni ważną funkcję automatycznego przydzielania unikalnych wartości liczbowych dla każdego nowego rekordu. Jest to szczególnie przydatne w dużych bazach danych, gdzie ręczne przypisywanie wartości klucza mogłoby prowadzić do błędów czy konfliktów. W przedstawionym przypadku, query SQL typu INSERT INTO pracownicy (imie, nazwisko) VALUES ('Anna', 'Nowak'); pomija pole klucza głównego. Dzięki zastosowaniu AUTO-INCREMENT, MySQL automatycznie przydzieli nową wartość klucza głównego, która będzie kolejną w sekwencji, zapewniając integralność danych. Tego rodzaju mechanizm jest standardem w zarządzaniu relacyjną bazą danych, co pozwala na efektywne i bezpieczne operowanie danymi bez ryzyka wystąpienia błędów związanych z ręcznym zarządzaniem kluczami. Dobre praktyki sugerują, aby w takich przypadkach polegać na funkcji AUTO-INCREMENT, co nie tylko ułatwia pracę z bazą danych, ale również minimalizuje możliwość wystąpienia duplikatów czy niespójności w danych. To podejście jest szeroko stosowane w branży IT, szczególnie w przypadkach systemów wymagających dużego wolumenu danych.

Pytanie 16

Zestawienie dwóch kolorów znajdujących się po przeciwnych stronach na kole barw stanowi zestawienie

A. trójkątnym
B. monochromatycznym
C. sąsiednim
D. dopełniającym
Wybór sąsiadujących barw oznaczałby połączenie kolorów, które leżą obok siebie na kole barw, co prowadzi do efektu harmonijnego i spokojnego, ale nie intensywnego, jak w przypadku barw dopełniających. Tego typu zestawienia są często stosowane w projektach wymagających łagodnych przejść kolorystycznych, np. w architekturze wnętrz. Monochromatyczne zestawienia, z drugiej strony, polegają na używaniu różnych odcieni, tonów lub nasycenia jednej barwy, uzyskując efekt spójności, ale bez kontrastu. Takie podejście może być stosowane w minimalistycznych projektach, ale nie wykorzystuje pełnego potencjału kontrastów. Natomiast koncepcja trójkątnych zestawień kolorystycznych odnosi się do używania trzech kolorów, które tworzą trójkąt równoboczny na kole barw, co także prowadzi do harmonii, ale niekoniecznie do dynamiki i intensywności, które charakteryzują połączenia dopełniające. Typowym błędem myślowym jest pomylenie pojęcia kontrastu z harmonią, co prowadzi do niepoprawnych wniosków o funkcji poszczególnych zestawień kolorystycznych w praktyce projektowej.

Pytanie 17

Oprogramowaniem typowym do obróbki grafiki wektorowej jest

A. Audacity
B. Inkscape
C. Paint
D. Brasero
Inkscape to profesjonalne oprogramowanie do edycji grafiki wektorowej, które jest szeroko stosowane przez projektantów i artystów. Program ten umożliwia tworzenie i edytowanie grafiki wektorowej, co oznacza, że obrazy są zbudowane z linii i kształtów, które można skalować bez utraty jakości. Inkscape obsługuje popularne formaty plików wektorowych, takie jak SVG (Scalable Vector Graphics), a także pozwala na eksport do różnych formatów rastrowych. Praktyczne zastosowania Inkscape obejmują projektowanie logo, ilustracji, infografik oraz elementów interfejsu użytkownika. Biorąc pod uwagę standardy branżowe, Inkscape wspiera wiele narzędzi i funkcji, takich jak warstwy, filtry, gradienty oraz teksty, co czyni go wszechstronnym narzędziem w rękach profesjonalnych grafików. Dodatkowo, dzięki aktywnej społeczności, użytkownicy mogą korzystać z licznych dodatków i zasobów, co zwiększa funkcjonalność programu i pozwala na dostosowanie go do specyficznych potrzeb projektowych.

Pytanie 18

Aby uzyskać rezultaty działania skryptu napisanego w języku PHP, który jest częścią strony WWW, musi on być

A. skomponowany po stronie klienta
B. zinterpretowany po stronie serwera
C. skomponowany po stronie serwera
D. zinterpretowany po stronie klienta
Żeby zobaczyć, jak działa skrypt w PHP, musi on być obrobiony przez serwer. PHP to język, który kręci się na serwerze, więc to serwer przetwarza ten kod, a nie nasza przeglądarka. Jak użytkownik wysyła coś do serwera, ten bierze skrypt PHP, robi swoje magiczne sztuczki, generuje HTML i przesyła gotową stronę do przeglądarki. Na przykład, weźmy jakąś stronę, która zaciąga informacje z bazy danych właśnie dzięki PHP. Skrypt łączy się z bazą, robi zapytanie i zwraca wyniki w HTML. Są też różne standardy, jak RFC 2616 dla HTTP, które mówią o tym, jak ważne jest przetwarzanie po stronie serwera przy wysyłaniu żądań i odpowiedzi. Dzięki temu, mamy dynamiczne treści, które są na bieżąco generowane z danych zapisanych na serwerze. Tak więc, PHP to kluczowy element w wielu nowoczesnych aplikacjach internetowych, i nie da się bez niego żyć w tym świecie programowania.

Pytanie 19

Jakie stwierdzenie dotyczące zaprezentowanego kodu jest prawdziwe?

Ilustracja do pytania
A. Znak kropki "." jest operatorem konkatenacji
B. Zostanie wyświetlony komunikat "OlaA"
C. W zmiennej $a wartość "Ala" zostanie zmieniona na "Ola"
D. Znak "=" pełni rolę operatora porównania dwóch zmiennych
W analizowanym kodzie występuje kilka nieporozumień dotyczących działania operatorów Znak równości w PHP pełni rolę operatora przypisania a nie porównania Działa on poprzez przypisywanie wartości znajdującej się po prawej stronie do zmiennej po lewej stronie Operator porównania w PHP to podwójny znak równości == który sprawdza czy dwie wartości są sobie równe lub potrójny === który dodatkowo sprawdza typy danych Z kolei operator kropki w PHP jest używany do łączenia ciągów znaków a nie do przypisywania wartości lub porównywania W przedstawionym kodzie $a Ola używa operatora kropek z przypisaniem aby dołączyć Ola do zmiennej $a która zawierała wcześniej Ala Co więcej twierdzenie że zmienna zostanie zmieniona z Ala na Ola jest błędne ponieważ operacja konkatenacji powoduje dodanie drugiej wartości do pierwszej a nie jej zastąpienie Każda z tych błędnych interpretacji może wynikać z mylnego zrozumienia podstawowych operatorów PHP i ich funkcji w manipulatorze ciągów znaków oraz przypisywaniu wartości Operator konkatenacji jest fundamentalnym narzędziem w programowaniu PHP pozwalającym na dynamiczne zarządzanie i modyfikację tekstu w aplikacjach co czyni jego znajomość kluczową dla każdego programisty Aby uniknąć takich błędów warto dobrze poznać podstawy składni i semantyki języka PHP oraz regularnie ćwiczyć ich zastosowanie w praktycznych scenariuszach projektowych

Pytanie 20

Aby zastosować w CSS wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p{text-indent: 30px;}
B. p{line-indent: 30px;}
C. p{line-height: 30px;}
D. p{text-spacing: 30px;}
Właściwość 'text-spacing' nie istnieje w standardzie CSS, dlatego odpowiedź ta jest niepoprawna. W CSS nie ma definicji dla 'text-spacing', co oznacza, że nie można jej wykorzystać do modyfikacji odstępów w akapitach. Zamiast tego, do regulacji przestrzeni między znakami i wierszami stosuje się inne właściwości, takie jak 'letter-spacing' czy 'line-height'. Dodatkowo, 'line-height' służy do kontrolowania wysokości linii tekstu, co wpływa na odstęp między poszczególnymi liniami w akapicie, ale nie na wcięcie pierwszej linii. Użycie 'line-height' z wartością 30px nie osiągnie zamierzonego efektu, gdyż wpływa to tylko na wysokość wiersza, a nie na wcięcie. Z kolei 'line-indent' to kolejna fikcyjna właściwość, która nie jest częścią CSS, więc nie można jej używać w żadnym kontekście kodowania CSS. Poprawne formatowanie akapitów wymaga znajomości właściwych technik i terminologii, a użycie nieistniejących właściwości prowadzi do błędów w stylizacji i może negatywnie wpływać na interpretację stylów przez przeglądarki, co w efekcie może obniżyć jakość wyświetlania treści w sieci.

Pytanie 21

Jakie mechanizmy przydzielania zabezpieczeń, umożliwiające przeprowadzanie operacji na bazie danych, są powiązane z zagadnieniami dotyczącymi zarządzania kontami, użytkownikami oraz uprawnieniami?

A. Z przywilejami systemowymi
B. Z przywilejami obiektowymi
C. Z regułami
D. Z atrybutami
Uprawnienia związane z atrybutami i regułami mogą mylnie wydawać się odpowiednie w kontekście zarządzania dostępem, ale ich zrozumienie jest kluczowe, aby uniknąć błędnych wniosków. Atrybuty w kontekście systemów zarządzania bazami danych są często używane do definiowania cech obiektów, takich jak kolumny w tabelach, ale nie są bezpośrednio związane z mechanizmami nadawania uprawnień. Reguły, choć mogą być wykorzystywane do definiowania polityk bezpieczeństwa, nie są tym samym co przywileje systemowe. Przywileje obiektowe, z kolei, dotyczą dostępu do konkretnych obiektów w bazie danych, takich jak tabele czy widoki, a nie ogólnych uprawnień administracyjnych. Często występuje nieporozumienie, że wszystkie te mechanizmy są równoważne, co prowadzi do niewłaściwego stosowania uprawnień w systemach. Kluczowe jest zrozumienie, że przywileje systemowe są tymi, które kontrolują dostęp do całej struktury bazy danych, a nie tylko do jej poszczególnych elementów, co stanowi podstawę dla skutecznego zarządzania bezpieczeństwem w środowiskach IT. W praktyce niepoprawne przypisywanie uprawnień może prowadzić do nieautoryzowanego dostępu do danych, co jest sprzeczne z najlepszymi praktykami ochrony informacji.

Pytanie 22

Jakie z poniższych warunków logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie 6, 203>?

A. (zm1 > 6) && (zm1 != 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) || (zm1 != 203)
D. (zm1 > 6) || (zm1 <= 203)
Wybór zaliczający odpowiedzi, które nie spełniają wymogów dotyczących przedziału wartości, może prowadzić do mylnych wniosków. W przypadku opcji (zm1 > 6) || (zm1 <= 203), zastosowano operator logiczny OR (||), co oznacza, że wystarczy, aby jeden z warunków był spełniony, co nie odpowiada wymaganym kryteriom przynależności do przedziału. Nie zabezpiecza to przed sytuacjami, w których zm1 może być mniejsze od 6, co wydłuża zakres wartości i narusza założenia. Podobnie, odpowiedź (zm1 > 6) || (zm1 != 203) również wykorzystuje operator OR, co prowadzi do nieprecyzyjnych wyników, ponieważ nie zapewnia, że zm1 pozostaje w założonym przedziale. Wartość zm1 może być równa 203, a jednocześnie spełniać warunek bycia różnym od tej samej liczby, co jest sprzeczne z celem określenia rzeczywistego zakresu. Ostatecznie, wybór opcji (zm1 > 6) && (zm1 != 203) wprowadza dodatkowy błąd, gdyż nie uwzględnia dolnej granicy przedziału oraz pozwala na wartości, które są powyżej 6, ale nie określają górnej granicy, co jest sprzeczne z założeniem. Te błędne koncepcje wynikają często z nieprecyzyjnej interpretacji operatorów logicznych oraz niezrozumienia, jak ważne jest ich odpowiednie użycie w kontekście definiowania przedziałów.

Pytanie 23

Podczas przechowywania hasła użytkownika serwisu internetowego (np. bankowości online), aby chronić je przed ujawnieniem, zazwyczaj stosuje się funkcję

A. abstrakcyjnych.
B. cyklometrycznych.
C. mieszających.
D. klucza.
Użycie klucza do zabezpieczenia haseł użytkowników w systemach takich jak bankowość internetowa jest kluczowym elementem zapewnienia prywatności i bezpieczeństwa danych. Funkcje klucza, takie jak szyfrowanie, pozwalają na przekształcenie haseł w nieczytelne ciągi znaków, które są niemożliwe do odtworzenia bez odpowiedniego klucza. Przykładem jest zastosowanie algorytmów takich jak AES (Advanced Encryption Standard), które są szeroko uznawane i stosowane w branży. Dobre praktyki w zakresie zabezpieczania danych sugerują używanie silnych, losowych kluczy oraz regularne ich aktualizowanie. Ponadto, najnowsze standardy, takie jak NIST (National Institute of Standards and Technology), rekomendują stosowanie dodatkowych technik, takich jak solenie haseł, co zwiększa ich odporność na ataki. Dzięki temu, nawet w przypadku wycieku bazy danych, potencjalny atakujący napotyka na trudności w odzyskaniu oryginalnych haseł. Zrozumienie i wdrożenie funkcji klucza jest niezbędne dla każdej organizacji, która pragnie skutecznie chronić wrażliwe dane swoich użytkowników.

Pytanie 24

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

A. Analiza oczekiwań klienta, określenie wymagań, programowanie, testowanie, wdrożenie
B. Określenie wymagań, analiza oczekiwań klienta, programowanie, wdrożenie, testowanie
C. Programowanie, analiza oczekiwań klienta, określenie wymagań, wdrożenie, testowanie
D. Analiza oczekiwań klienta, określenie wymagań, 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 25

Metainformacja "Description" umieszczona w pliku HTML powinna zawierać

<head>
    <meta name="Description" content="...">
</head>
A. spis słów kluczowych, które są wykorzystywane przez wyszukiwarki internetowe
B. opis treści znajdującej się na stronie
C. informację na temat autora strony
D. nazwę aplikacji, za pomocą której stworzono stronę
Metainformacja Description nie jest odpowiednia do przechowywania nazwy programu użytego do stworzenia strony internetowej Taka informacja nie jest istotna z punktu widzenia użytkowników odwiedzających stronę czy też algorytmów wyszukiwania które analizują treść strony pod kątem jej użyteczności oraz zgodności z zapytaniami użytkowników Opisanie kluczowych informacji na stronie jest bardziej użyteczne ponieważ pozwala użytkownikom i wyszukiwarkom zrozumieć jej zawartość Wyszukiwarki analizują treść strony w tym opisy aby lepiej dopasować je do zapytań użytkowników Podczas gdy słowa kluczowe odgrywają rolę w SEO nie powinny być zamieszczane w metainformacji Description w formie listy ale raczej harmonijnie wplecione w naturalnie brzmiący tekst Opis strony ma za zadanie przyciągnąć uwagę i zachęcić do kliknięcia dlatego powinien być skonstruowany w sposób precyzyjnie oddający zawartość strony co jest zgodne z najlepszymi praktykami SEO i doświadczeniem użytkownika Ostatecznie informacje o autorze strony mogą być umieszczane w innych miejscach takich jak stopka strony lub w metainformacji Author ale nie są głównym przeznaczeniem metatagu Description Rozumienie tych zasad pomaga w skutecznym projektowaniu stron internetowych zgodnych z oczekiwaniami użytkowników i standardami branżowymi

Pytanie 26

Ile razy zostanie wykonana pętla przedstawiona w kodzie PHP?

for($i = 0; $i < 25; $i += 5) { ...... }
A. 25
B. 5
C. 0
D. 26
Pętla for w PHP, zdefiniowana jako for($i = 0; $i < 25; $i += 5), będzie wykonywana do momentu, gdy warunek $i < 25 będzie spełniony. Początkowa wartość $i to 0, a w każdej iteracji zwiększamy $i o 5. Wartości $i w kolejnych iteracjach będą wynosiły: 0, 5, 10, 15, 20. Po piątej iteracji, gdy $i osiągnie wartość 25, warunek $i < 25 przestanie być spełniony, co zakończy działanie pętli. W sumie, pętla wykona się dokładnie pięć razy. Zrozumienie działania pętli for jest kluczowe w programowaniu, ponieważ pozwala na automatyzację wielu zadań, co jest niezbędne w tworzeniu efektywnych i zoptymalizowanych aplikacji. Przykłady zastosowania to iteracja przez elementy tablic, generowanie numerów identyfikacyjnych czy przetwarzanie danych w bazach.

Pytanie 27

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

A. analizowanie kodu PHP
B. uruchomienie kodu w języku PHP
C. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
D. zweryfikowanie wartości zmiennych użytych w kodzie PHP
Funkcja phpinfo() jest niezwykle przydatnym narzędziem, które dostarcza szczegółowych informacji na temat konfiguracji środowiska PHP na serwerze. Wywołanie tej funkcji generuje stronę HTML z danymi takimi jak wersja PHP, załadowane rozszerzenia, zmienne konfiguracyjne oraz informacje o systemie operacyjnym. Przykładowo, podczas rozwiązywania problemów z aplikacjami PHP, programiści mogą skorzystać z phpinfo() w celu weryfikacji, czy odpowiednie rozszerzenia są załadowane, co może być kluczowe dla poprawnego działania aplikacji. Dodatkowo, funkcja ta umożliwia identyfikację potencjalnych problemów z konfiguracją, takich jak niewłaściwie ustawione ścieżki do skryptów czy braki w wymaganych rozszerzeniach. Zgodnie z najlepszymi praktykami, phpinfo() powinno być używane tylko w środowiskach deweloperskich, a nie produkcyjnych, aby nie ujawniać wrażliwych informacji o serwerze. Dobrą praktyką jest również usunięcie lub zabezpieczenie dostępu do stron, które wywołują tę funkcję, aby zminimalizować ryzyko ataków.

Pytanie 28

Jakie pola znajdują się w formularzu?

Ilustracja do pytania
A. Textarea, Option, Input(Checkbox), Input(Checkbox), Input(Submit), Input(Reset)
B. Textarea, Select, Input(Radio), Input(Radio), Input(Reset), Input(Submit)
C. Input(Text), Input(Checkbox), Select, Select, Input(Submit), Input(Reset)
D. Input(Text), Select, Input(Radio), Input(Radio), Input(Submit), Input(Reset)
W pozostałych opcjach są błędy w dobieraniu typów pól formularza, które nie pasują do tego, co jest pokazane na przykładzie. W pierwszej opcji dwa Input(Checkbox) są na pewno nietrafione, bo checkboxy pozwalają na zaznaczenie kilku opcji, a tu powinna być tylko jedna – Studia podyplomowe lub Kurs, a to powinno być Input(Radio). Checkboxy używa się, kiedy można wybrać więcej niż jedną opcję, a w tym formularzu to się nie sprawdza. Druga opcja ma Input(Text) i Select, oraz dwa Input(Radio), co teoretycznie jest poprawne, ale nie ma tam żadnych błędów, więc jest ok. W trzeciej opcji Textarea, który jest do wieloliniowego tekstu, nie ma sensu w przypadku prostego pola jak Nazwisko. Na końcu, czwarta opcja z podwójnym Select jest niepoprawna, bo w formularzu powinien być tylko jeden do wyboru województwa. Takie pomyłki w użyciu elementów formularza mogą wynikać z braku zrozumienia różnic między Inputami, jak Radio, Checkbox i Select. Fajnie by było zrozumieć, kiedy jakiego elementu używać, żeby formularze nie były skomplikowane dla użytkowników oraz zgodne z HTML5. To ważne, żeby wszystko działało bez problemów i było intuicyjne w korzystaniu z aplikacji internetowych.

Pytanie 29

W jakich formatach można przechować wideo razem z dźwiękiem?

A. WAV
B. AAC
C. WMA
D. MP4
MP4 to jeden z najbardziej popularnych formatów plików multimedialnych, który jest szeroko stosowany do zapisywania materiałów wideo wraz ze ścieżkami dźwiękowymi. MP4, jako kontener, obsługuje różne kodeki wideo, takie jak H.264, a także kodeki audio, w tym AAC. Dzięki tej wszechstronności, format MP4 jest idealny do przechowywania zarówno obrazu, jak i dźwięku w jednym pliku, co jest kluczowe dla wielu zastosowań, od streamingu wideo po przechowywanie lokalne. MP4 jest zgodny z wieloma platformami i urządzeniami, co czyni go standardem dla treści wideo w Internecie. Przykładem zastosowania MP4 mogą być platformy takie jak YouTube, gdzie użytkownicy przesyłają filmy w tym formacie, aby zapewnić wysoką jakość obrazu i dźwięku. Warto również zauważyć, że MP4 wspiera różne metadane, co umożliwia dodawanie informacji o pliku, takich jak tytuł, artysta czy okładka albumu. Dzięki tym wszystkim właściwościom, MP4 jest niezastąpionym formatem w dziedzinie multimediów.

Pytanie 30

Instrukcję for można zastąpić inną instrukcją

A. switch
B. while
C. continue
D. case
Instrukcja `while` jest poprawnym zamiennikiem dla instrukcji `for` w kontekście iteracji, ponieważ obie służą do powtarzania bloków kodu, dopóki spełniony jest określony warunek. Główna różnica polega na sposobie deklaracji warunków iteracji. W instrukcji `for` często używamy jej do iteracji po znanym zakresie, np. od 0 do n, co jest typowe w wielu zastosowaniach, takich jak przetwarzanie elementów tablicy. Natomiast `while` idealnie nadaje się do sytuacji, gdzie liczba iteracji jest nieznana na początku i zależy od dynamicznie ocenianych warunków. Przykładem może być przetwarzanie danych, gdzie pętla `while` kontynuuje działanie, aż do momentu, gdy nie napotka na wartość końcową, co jest szczególnie przydatne w algorytmach przetwarzania strumieni danych. Ponadto, od strony wydajnościowej, wybór między `for` a `while` powinien być uzależniony od contextu, w jakim są używane. Dobrą praktyką jest dopasowanie rodzaju pętli do specyfiki problemu, co zwiększa czytelność i efektywność kodu.

Pytanie 31

W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x

<script>
var x = 10;
x++;
console.log(x);
</script>
A. będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej.
B. będzie równa 11 i zostanie wypisana w oknie popup.
C. będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
D. będzie równa 10 i zostanie wypisana w dokumencie HTML.
Twoja odpowiedź nie była poprawna, ale nie martw się, omówimy teraz dlaczego. Po pierwsze, zmienna x nie będzie równa 10 - jest to błąd wynikający z braku zrozumienia, jak działa inkrementacja. W JavaScript, operator ++ stosowany jest do zwiększenia wartości zmiennej o 1. W naszym przypadku, zmienna x jest zainicjalizowana wartością 10, a następnie jest inkrementowana, co oznacza, że jej wartość wynosi 11, a nie 10. Jeśli chodzi o miejsce wypisywania wartości zmiennej, to nie będzie to dokument HTML, okno popup, ani główne okno przeglądarki. W JavaScript, standardowym miejscem do wypisywania wartości zmiennych do celów debugowania jest konsola przeglądarki, co odbywa się za pomocą metody console.log(). Pamiętaj, że zrozumienie, jak działa konsola i jak z niej korzystać, jest ważnym elementem pracy z JavaScript. Podsumowując, zrozumienie operacji na zmiennych, takich jak inkrementacja, oraz właściwe wykorzystanie konsoli przeglądarki, są podstawowymi umiejętnościami niezbędnymi do efektywnego programowania w JavaScript.

Pytanie 32

Zapis selektora wskazuje, że kolor tła będzie brązowy dla

input[type=number] { background-color: Brown; }
A. formularzy, gdy użytkownik wprowadzi w nie jakąkolwiek cyfrę
B. formularzy, które są typu numerycznego
C. wszystkich tekstów na stronie internetowej
D. wszystkich formularzy
Zapis selektora CSS `input[type=number] { background-color: Brown; }` odnosi się do pól edycyjnych, które są zdefiniowane jako typu numerycznego. Oznacza to, że wszystkie elementy <input>, które mają atrybut `type` ustawiony na `number`, będą miały brązowe tło. Tego typu selektory są przydatne, ponieważ pozwalają na precyzyjne stylizowanie elementów formularzy, co jest kluczowe dla poprawy doświadczeń użytkowników. Stosowanie odpowiednich typów elementów formularza, takich jak `number`, umożliwia kontrolowanie danych wprowadzanych przez użytkowników, co jest zgodne z dobrymi praktykami w zakresie walidacji danych. W praktyce, jeśli w formularzu istnieje pole do wprowadzania dat, które powinno przyjmować tylko wartości liczbowe, stylizowanie go w ten sposób może pomóc w natychmiastowym wizualnym wskazaniu użytkownikowi, że pole jest przeznaczone do wprowadzania numerów. Warto również pamiętać, że stosowanie odpowiednich typów wejściowych wspiera responsywność, umożliwiając na przykład wyświetlanie klawiatury numerycznej na urządzeniach mobilnych, co zwiększa komfort użytkowania.

Pytanie 33

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. rozproszonym
B. centralnego wydawcy
C. równorzędnym
D. centralnego subskrybenta
Model centralnego subskrybenta polega na tym że jeden serwer subskrybuje dane z wielu wydawniczych serwerów co jest odwrotnością modelu centralnego wydawcy. Tego typu rozwiązanie jest mniej popularne ze względu na potrzebę zarządzania synchronizacją z wielu źródeł co komplikuje proces replikacji i zwiększa ryzyko konfliktów danych. Model równorzędny z kolei zakłada że każdy serwer w architekturze działa jako równy uczestnik mający zdolność zarówno publikowania jak i subskrybowania danych. Taka architektura jest bardziej złożona w zarządzaniu zwłaszcza przy dużej liczbie uczestników ponieważ wymaga zaawansowanych mechanizmów rozwiązywania konfliktów i zarządzania współbieżnością. Rozproszony model to rozwiązanie gdzie dane są przechowywane i zarządzane bez centralnego punktu co może być korzystne dla systemów wymagających wysokiej dostępności i elastyczności ale stwarza wyzwania w zakresie spójności danych i wymaga skomplikowanych algorytmów synchronizacji. Wybór modelu nieodpowiedniego dla danej infrastruktury może prowadzić do problemów z wydajnością i spójnością co jest typowym błędem myślowym wynikającym z niewłaściwego zrozumienia wymagań systemowych. Każdy z tych modeli ma swoje specyficzne zastosowania i wyzwania co wymaga odpowiedniej analizy i doświadczenia przy projektowaniu systemów bazodanowych.

Pytanie 34

W JavaScript, wynik operacji przyjmuje wartość NaN, gdy skrypt usiłuje przeprowadzić

A. funkcję, która sprawdza długość stringa, a zawartość zmiennej była liczba
B. operację arytmetyczną, a zawartość zmiennej była tekstem
C. funkcję parseInt zamiast parseFloat na zmiennej numerycznej
D. operację arytmetyczną na dwóch dodatnich zmiennych liczbowych
W JavaScript, wartość NaN (Not-a-Number) jest wynikiem nieudanej operacji arytmetycznej, szczególnie gdy jedna z operandów jest napisem, a nie liczbą. Przykładem może być sytuacja, gdy próbujemy dodać liczbę do napisu: let result = 5 + 'abc';. W tym przypadku, JavaScript nie może przeprowadzić operacji arytmetycznej na liczbie i napisie, co skutkuje wartością NaN. Konwersja napisu na liczbę w kontekście arytmetyki jest kluczowa; funkcje takie jak parseFloat lub parseInt mogą być użyte do uzyskania liczby z napisu. Dobre praktyki sugerują, aby zawsze sprawdzać typ danych przed wykonaniem operacji arytmetycznych, co można osiągnąć za pomocą operatora typeof lub funkcji Number.isNaN(). W ten sposób unika się nieprzewidzianych rezultatów i poprawia się stabilność kodu. Zrozumienie, jak JavaScript radzi sobie z różnymi typami danych, jest fundamentalne dla każdego programisty, ponieważ błędy związane z typami danych mogą prowadzić do poważnych problemów w aplikacjach.

Pytanie 35

Funkcja PHP var_dump() wyświetla informację na temat zmiennej: jej typ i wartość. Wynikiem dla przedstawionego fragmentu kodu jest:

$x = 59.85;
var_dump($x);
A. float(59.85)
B. int(59)
C. string(5) "59.85"
D. array(2) { [0]=> int(59) [1]=> int(85) }
Niestety, Twoja odpowiedź nie była poprawna. Niepoprawne odpowiedzi sugerowały różne typy danych i struktury, które nie odpowiadają prawdziwemu wynikowi funkcji var_dump() dla zmiennej o wartości 59.85. Na przykład, jedna z niepoprawnych odpowiedzi sugerowała, że wynikiem jest int(59), co by było prawdą, gdyby wartość zmiennej była liczbą całkowitą, a nie liczbą zmiennoprzecinkową. Inna niepoprawna odpowiedź sugeruje, że wynikiem jest string(5) "59.85". W tym przypadku, wartość jest prawidłowa, ale typ jest nieprawidłowy. PHP nie zamienia automatycznie liczb na stringi bez jawnego żądania. Jeszcze inna błędna odpowiedź sugeruje, że wynikiem jest tablica składająca się z dwóch liczb całkowitych, co jest niezgodne z rzeczywistością. PHP nie tworzy automatycznie tablic z pojedynczych zmiennych. Sugerowane przez te niepoprawne odpowiedzi błędy wynikają z niezrozumienia typów danych w PHP oraz zasady działania funkcji var_dump(). Zrozumienie jak PHP obsługuje różne typy danych jest kluczowe do poprawnego korzystania z tego języka.

Pytanie 36

Aby przywrócić bazę danych MS SQL z archiwum, należy użyć polecenia

A. DBCC CHECKDB
B. RESTORE DATABASE
C. REBACKUP DATABASE
D. SAVE DATABASE
Pozostałe odpowiedzi nie są właściwe w kontekście przywracania bazy danych MS SQL z kopii bezpieczeństwa. DBCC CHECKDB jest narzędziem służącym do sprawdzania integralności bazy danych, ale nie ma zastosowania w procesie przywracania danych. To polecenie diagnostyczne pozwala na identyfikację uszkodzeń strukturalnych bazy danych oraz ich potencjalne naprawienie, co jest ważne, lecz nie dotyczy samego procesu przywracania. SAVE DATABASE nie jest uznawane za standardowe polecenie w MS SQL Server. Takie działanie nie istnieje w dokumentacji, co oznacza, że nie można go używać do wykonywania operacji na bazach danych. Ostatnia odpowiedź, REBACKUP DATABASE, również nie jest poprawna, ponieważ MS SQL Server nie posiada takiej komendy. W rzeczywistości, proces tworzenia kopii zapasowej danych realizuje się za pomocą polecenia BACKUP DATABASE, a nie REBACKUP. Każda z tych odpowiedzi ma swoje zastosowanie w pracy z bazami danych, ale w kontekście przywracania nie spełniają wymagań. Dlatego kluczowe jest zrozumienie roli polecenia RESTORE DATABASE w prawidłowym zarządzaniu bazami danych.

Pytanie 37

W języku SQL, aby dodać atrybut klucza podstawowego do pola id w istniejącej tabeli produkt należy użyć składni

A. ALTER TABLE produkt ADD PRIMARY KEY (id)
B. ALTER TABLE produkt DROP PRIMARY KEY
C. ALTER TABLE produkt ALTER COLUMN id INT
D. ALTER TABLE produkt DROP CONSTRAINT id
W SQL do modyfikowania struktury tabeli służy instrukcja ALTER TABLE, ale poszczególne warianty tej komendy robią bardzo różne rzeczy. W tym zadaniu chodzi konkretnie o dodanie atrybutu klucza podstawowego do istniejącej kolumny id, więc potrzebne jest utworzenie ograniczenia typu PRIMARY KEY dla tej kolumny. Właśnie to robi składnia z klauzulą ADD PRIMARY KEY (id). Częsty błąd polega na myleniu zmiany typu kolumny albo usuwania ograniczeń z ich dodawaniem. Polecenie ALTER TABLE produkt ALTER COLUMN id INT jedynie zmienia definicję kolumny, na przykład jej typ danych, domyślną wartość, ewentualnie atrybuty typu NOT NULL, w zależności od dialektu SQL. Nie tworzy ono żadnego klucza podstawowego. Ktoś może myśleć, że „ALTER COLUMN” doda jakieś specjalne właściwości, ale samo ustawienie typu INT nie ma nic wspólnego z unikalnością czy identyfikacją wierszy. Z kolei ALTER TABLE produkt DROP CONSTRAINT id sugeruje usunięcie istniejącego ograniczenia o nazwie id. Takiego polecenia używa się wtedy, gdy constraint już istnieje i chcemy go skasować, na przykład przed zmianą klucza głównego. To jest operacja odwrotna do dodawania ograniczenia, więc nie rozwiązuje problemu z treści pytania. Podobnie ALTER TABLE produkt DROP PRIMARY KEY usuwa bieżący klucz podstawowy z tabeli. W niektórych silnikach SQL to polecenie jest wręcz wymagane, zanim zdefiniuje się nowy klucz. W każdym razie DROP PRIMARY KEY nie dodaje żadnego klucza, tylko go likwiduje. Typowym źródłem pomyłek jest myślenie „skoro chcę coś zmienić w kolumnie, to ALTER COLUMN wystarczy” albo „DROP/ADD, jakoś to będzie”. W praktyce trzeba rozróżniać trzy poziomy: definicję samej kolumny (typ, rozmiar, NULL/NOT NULL), definicje ograniczeń (PRIMARY KEY, UNIQUE, FOREIGN KEY) oraz indeksy. Klucz podstawowy jest właśnie constraintem, więc operujemy na nim poprzez ADD PRIMARY KEY, a nie przez samą zmianę typu kolumny czy usuwanie ograniczeń. Dobrą praktyką jest też zawsze sprawdzić, jakie ograniczenia aktualnie istnieją w tabeli, zanim zacznie się je modyfikować.

Pytanie 38

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

A. próbek dźwięku w określonym czasie
B. bitów przesyłanych w określonym czasie
C. pikseli obrazu wyświetlanych na monitorze
D. pikseli wyświetlanego obrazu wyrażoną jako stosunek jego długości do wysokości
Przepływność, czyli bitrate, to mega ważny temat, jeśli chodzi o jakość przesyłania wideo i dźwięku. Mówiąc prosto, chodzi o to, ile bitów przesyłamy w czasie. I to ma bezpośredni wpływ na to, jak wygląda obraz i jak brzmi dźwięk. Im wyższa przepływność, tym lepsza jakość, bo więcej informacji leci w jednym czasie. Na przykład, jak mamy wideo w 1080p, to przepływność na poziomie 5-10 Mbps daje całkiem dobrą jakość. A w 4K to już może być nawet 25 Mbps lub więcej. No i różne standardy, jak H.264 czy HEVC (H.265), są po to, żeby lepiej kompresować wideo – to znaczy uzyskiwać dobrą jakość przy niższej przepływności. To naprawdę ważne dla twórców i widzów, żeby mogli się cieszyć dobrym oglądaniem i słuchaniem. Przepływność mierzymy w kbps lub Mbps, co daje nam proste porównania między formatami i standardami wideo.

Pytanie 39

W języku HTML, aby uzyskać następujący efekt formatowania, należy zapisać kod:

pogrubiony pochylony lub w górnym indeksie

A. <i>pogrubiony </i><b>pochylony</b> lub w <sub>górnym indeksie</sub>
B. <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>
C. <b>pogrubiony <i>pochylony</i></b> lub w <sub>górnym indeksie</sub>
D. <i>pogrubiony <b>pochylony lub w </i><sup>górnym indeksie</sup>
Poprawna odpowiedź to: <b>pogrubiony </b><i>pochylony</i> lub w <sup>górnym indeksie</sup>. Ta odpowiedź prawidłowo wykorzystuje trzy kluczowe tagi HTML do formatowania tekstu: <b>, <i> i <sup>. Tag <b> służy do wyświetlania tekstu w pogrubionym formacie, co pozwala na podkreślenie istotnych fragmentów tekstu. Przykładem może być wyróżnienie tytułów, nagłówków lub kluczowych punktów w treści. Tag <i> jest używany do wyświetlania tekstu w formacie kursywy, co jest często używane do wyróżnienia tytułów książek, filmów, cytowań lub podkreślenia ważnych punktów. Tag <sup> jest używany do wyświetlania napisów jako tekst górnego indeksu, co jest często używane do wskazania numerów stron, przypisów, lub dla oznaczeń matematycznych lub naukowych. Pamiętaj, że prawidłowe użycie tych tagów jest kluczowe dla tworzenia jasnej, czytelnej i profesjonalnie wyglądającej strony internetowej.

Pytanie 40

Domyślny użytkownik, który posiada pełne uprawnienia do zarządzania bazą danych w systemie MySQL, to

A. mysqld
B. admin
C. root
D. sysadmin
W systemie MySQL domyślnym kontem z pełnymi uprawnieniami administracyjnymi jest użytkownik „root”, a nie różne nazwy kojarzone ogólnie z administracją systemu. Mylenie tych nazw wynika często z doświadczeń z innymi środowiskami, jak panele hostingowe czy systemy operacyjne, gdzie pojawiają się takie loginy jak „admin” czy „sysadmin”. W MySQL nazwa użytkownika jest jednak zdefiniowana bardzo konkretnie i historycznie utrwalił się właśnie „root” jako konto głównego administratora serwera bazodanowego. Login „admin” bywa używany w panelach typu phpMyAdmin, w panelach hostingowych albo w aplikacjach webowych, ale to są konta utworzone przez dostawcę hostingu lub programistę, a nie domyślne konto MySQL. Moim zdaniem to jedno z częstszych nieporozumień: ktoś loguje się do phpMyAdmin jako „admin” i zakłada, że taki użytkownik istnieje w samym MySQL jako konto systemowe, a tymczasem jest to po prostu użytkownik zdefiniowany w bazie o określonych uprawnieniach, nadanych ręcznie. Podobnie nazwa „sysadmin” kojarzy się z rolą administratora systemu albo domeny w różnych narzędziach, ale w MySQL taka nazwa nie jest żadnym standardem ani domyślną konfiguracją. Jeśli taki użytkownik istnieje, to tylko dlatego, że ktoś go sam stworzył. Natomiast „mysqld” to w ogóle nie jest użytkownik bazy w sensie konta SQL. Tak nazywa się proces serwera MySQL uruchamiany w systemie operacyjnym, często jako osobny użytkownik systemowy (np. user „mysql” w Linuksie). Ten użytkownik systemowy służy do uruchamiania usługi, dostępu do plików danych na dysku, ale nie loguje się do bazy jako klient SQL. Typowym błędem myślowym jest mieszanie użytkowników systemu operacyjnego, użytkowników paneli administracyjnych i użytkowników samego MySQL. Każda z tych warstw ma własny model uprawnień i własne nazwy kont. W pracy z bazami danych warto zawsze rozróżniać: kto jest użytkownikiem systemu (np. Linux), kto jest użytkownikiem serwera MySQL (root, app_user itd.), a kto użytkownikiem aplikacji webowej. Dopiero wtedy zarządzanie uprawnieniami i bezpieczeństwem staje się sensowne i przewidywalne.