Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 20 kwietnia 2026 00:50
  • Data zakończenia: 20 kwietnia 2026 01:07

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

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

Który paragraf w przedstawionym kodzie zostanie wyświetlony czcionką o kolorze niebieskim?

<!DOCTYPE html>
<html>
<head>
<style>
div~p { color: blue; }
</style>
</head>
<body>
  <div>
    <p>pierwszy paragraf</p>
      <div>
        <p>drugi paragraf</p>
        <p>trzeci paragraf</p>
      </div>
    <p>czwarty paragraf</p>
  </div>
</body>
</html>
A. Drugi.
B. Trzeci.
C. Czwarty.
D. Pierwszy.
Źródłem problemu w tym zadaniu jest zrozumienie, jak dokładnie działa selektor `div~p`. Na pierwszy rzut oka wiele osób patrzy po prostu na kolejność paragrafów w kodzie i zakłada, że skoro wewnątrz diva są kolejne `<p>`, to one wszystkie będą niebieskie. To jest typowe mieszanie działania selektora rodzeństwa z selektorem potomków. Zapis `div p` rzeczywiście oznaczałby „każdy paragraf znajdujący się gdziekolwiek wewnątrz diva”, ale w pytaniu użyto operatora tyldy `~`, który ma inne znaczenie. Selektor `div~p` wskazuje elementy `<p>`, które są rodzeństwem elementu `<div>`, czyli mają tego samego rodzica w drzewie DOM, i jednocześnie występują po nim w kodzie. To oznacza, że przeglądarka w ogóle nie patrzy na paragrafy zagnieżdżone głębiej, np. w dodatkowym `<div>` w środku. One nie są rodzeństwem, tylko potomkami, więc selektor ich nie obejmuje. Częsty błąd polega też na myleniu selektora `div~p` z `div+p`. Ten drugi wybiera wyłącznie pierwszy paragraf bezpośrednio po divie na tym samym poziomie, natomiast `~` obejmuje wszystkie późniejsze rodzeństwa danego typu. W tym przykładzie jedynym `<p>`, który jest na tym samym poziomie co zewnętrzny `<div>` i stoi po nim, jest „czwarty paragraf”. Pozostałe, mimo że wizualnie znajdują się „w środku” tego diva, nie są rodzeństwem, tylko są bardziej zagnieżdżone. Z mojego doświadczenia wynika, że dopóki nie narysuje się sobie drzewa DOM albo nie podejrzy struktury w DevTools, bardzo łatwo o takie pomyłki. Dobra praktyka w CSS to zawsze myśleć o relacjach: rodzic–dziecko, rodzeństwo, potomek, a dopiero potem o kolejności w kodzie. Dzięki temu selektory są pisane świadomie, bardziej precyzyjnie i nie powodują niespodziewanych efektów w większych projektach.

Pytanie 2

W języku SQL zrealizowano polecenia GRANT przedstawione w ramce. Kto uzyska prawo do przeglądania oraz modyfikowania danych?

GRANT ALL ON frmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON frmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON frmy TO 'tomasz'@'localhost';
A. Jedynie Tomasz
B. Tomasz i Adam
C. Tomasz oraz Anna
D. Adam oraz Anna
Wybór odpowiedzi, który wskazuje na tylko jednego użytkownika, jest nieprawidłowy, ponieważ nie uwzględnia pełnego zakresu przyznanych uprawnień. Tomasz, dzięki poleceniu 'GRANT SELECT, INSERT, UPDATE', ma przyznane prawo do przeglądania (SELECT) oraz modyfikacji (INSERT, UPDATE) danych w bazie 'frmy'. Odpowiedzi wskazujące wyłącznie na Tomasza pomijają fakt, że Adam również ma pełne uprawnienia do tej samej bazy danych, a więc równie dobrze może przeglądać i zmieniać dane. W przypadku Anny, jej przyznane uprawnienia dotyczą głównie operacji strukturalnych (ALTER, CREATE, DROP), co nie daje jej możliwości przeglądania ani modyfikacji danych, co czyni ją niewłaściwym wyborem w kontekście omawianego pytania. Typowym błędem w analizie takich pytań jest poleganie na domniemaniach dotyczących uprawnień, zamiast dokładnego zapoznania się z przyznanymi rolami i uprawnieniami. Właściwe zrozumienie i analiza poleceń GRANT w SQL są kluczowe dla efektywnego zarządzania bazami danych oraz zapewnienia odpowiedniego poziomu bezpieczeństwa informacyjnego.

Pytanie 3

Jakie zdarzenie należy wykorzystać, aby funkcja JavaScript była aktywowana za każdym razem, gdy użytkownik wprowadza jakikolwiek znak w polu tekstowym?

A. onmouseout
B. onclick
C. onkeydown
D. onload
Funkcja JavaScript, która ma być wywoływana za każdym razem, gdy użytkownik wpisuje dowolny znak do pola edycji, powinna korzystać ze zdarzenia 'onkeydown'. Zdarzenie to jest wywoływane w momencie naciśnięcia klawisza, co oznacza, że natychmiast odzwierciedla zmiany wprowadzone przez użytkownika. Dzięki temu możemy w czasie rzeczywistym reagować na dane wprowadzane przez użytkownika, co jest niezwykle przydatne w aplikacjach interaktywnych. Przykładowo, jeśli mamy pole tekstowe, w którym użytkownik wprowadza swoje imię, możemy użyć zdarzenia 'onkeydown', aby sprawdzić, czy imię nie jest za krótkie lub nie zawiera niedozwolonych znaków. Można to zrealizować w następujący sposób: <input type='text' onkeydown='myFunction()'>. Standardy W3C definiują zdarzenia klawiaturowe jako kluczowy element interakcji użytkownika z aplikacjami webowymi, co czyni 'onkeydown' bardzo istotnym w kontekście UX/UI.

Pytanie 4

Jakie polecenie powinno być zastosowane, aby tekst TEKST był widoczny w kolorze czarnym w oknie przeglądarki internetowej?

A. <body bgcolor="black">TEKST</body>
B. <body color="black">TEKST</font>
C. <font color="#000000">TEKST</font>
D. <font color="czarny">TEKST</font>
Aby wyraz TEKST został wyświetlony w kolorze czarnym w oknie przeglądarki internetowej, należy skorzystać z tagu <font> z atrybutem color ustawionym na wartości #000000, co stanowi standardowy kod heksadecymalny dla koloru czarnego. Atrybut ten pozwala na precyzyjne określenie koloru tekstu, co jest zgodne z zasadami HTML i daje możliwość dostosowania wyglądu strony do wymagań projektowych. Tag <font> jest przestarzały w HTML5, jednak wciąż może być używany w kontekście starszych dokumentów HTML. Warto zauważyć, że dla bardziej nowoczesnych praktyk zaleca się korzystanie z CSS (Cascading Style Sheets), gdzie definiowanie kolorów odbywa się w ramach stylów, zamiast bezpośrednio w znacznikach. Przykładowo, w CSS można użyć: .czarnyTekst { color: #000000; } i następnie zastosować tę klasę w znaczniku. Takie podejście poprawia semantykę kodu i ułatwia zarządzanie stylami na stronie, co jest istotne w kontekście optymalizacji SEO i dostępności dla różnych urządzeń."

Pytanie 5

Jaką funkcję agregującą można zastosować, aby uzyskać ilość rekordów?

A. NUMBER
B. AVG
C. SUM
D. COUNT
SUM, AVG oraz NUMBER to funkcje, które mogą być mylnie stosowane w kontekście zwracania liczby rekordów. SUM jest funkcją agregującą, która oblicza sumę wartości w określonej kolumnie, co oznacza, że jej zastosowanie jest ograniczone do kolumn numerycznych. Na przykład, użycie SUM w kontekście liczby klientów nie ma sensu, chyba że próbujemy zsumować wartość, taką jak liczba zamówień lub wartość sprzedaży. AVG to funkcja obliczająca średnią arytmetyczną wartości w kolumnie i podobnie jak SUM, nie jest przeznaczona do obliczania liczby rekordów. Jest to powszechny błąd, gdyż może prowadzić do błędnych wniosków o ilości danych. NUMBER nie jest standardową funkcją SQL w kontekście agregacji danych, co stawia tę odpowiedź w zupełnie innym kontekście. Przykłady użycia tych funkcji niewłaściwie w kontekście zliczania rekordów mogą prowadzić do poważnych nieporozumień, dlatego istotne jest, aby mieć solidne podstawy w zakresie funkcji agregujących i ich zastosowań w analizie danych. Zrozumienie różnic pomiędzy tymi funkcjami jest kluczowe dla właściwego modelowania i analizy danych w bazach danych.

Pytanie 6

W języku HTML, aby połączyć w pionie dwie sąsiadujące komórki w kolumnie tabeli, należy użyć atrybutu

A. cellpadding
B. colspan
C. cellspacing
D. rowspan
W kontekście scalania komórek w pionie w HTML, inne proponowane atrybuty są nieodpowiednie. Atrybut colspan służy do scalania komórek w poziomie, co oznacza, że pozwala na połączenie kilku komórek w jednym wierszu, co jest zupełnie inną operacją niż scalanie w pionie. Używanie colspan byłoby nieodpowiednie w sytuacji, gdy celem jest połączenie komórek w kolumnie. Atrybut cellpadding dotyczy natomiast przestrzeni wewnętrznej, określającej odstęp pomiędzy zawartością komórki a jej krawędziami. Jego zastosowanie nie wpływa na scalanie komórek, a jedynie na ich wygląd, co sprawia, że jest to zupełnie inny aspekt formatowania tabeli. Podobnie atrybut cellspacing, który jest używany do definiowania odstępów między komórkami tabeli, również nie ma zastosowania w procesie scalania komórek. Obydwa te atrybuty mogą być użyte do poprawy estetyki tabeli, ale nie wpływają na strukturę danych w sposób, który byłby wymagany do osiągnięcia pionowego scalania komórek. Użycie ich zamiast rowspan jest błędne i prowadzi do niepoprawnego zrozumienia struktury HTML oraz sposobu, w jaki tabele powinny być zbudowane.

Pytanie 7

Aby zoptymalizować operacje na bazie danych, należy stworzyć indeksy dla pól, które są często wyszukiwane lub sortowane?

A. dodać więzy integralności.
B. stworzyć osobną tabelę przechowującą tylko te pola.
C. utworzyć indeks.
D. dodać klucz obcy.
Indeksowanie to kluczowy mechanizm optymalizacji wydajności baz danych. Indeksy pozwalają na szybsze wyszukiwanie, sortowanie oraz filtrowanie danych, co znacząco poprawia czas reakcji na zapytania. Kiedy tworzymy indeks na kolumnach, które są często używane w klauzulach WHERE, ORDER BY lub JOIN, silnik bazy danych może szybciej zlokalizować potrzebne dane, minimalizując czas przeszukiwania. Na przykład, w bazie danych o dużej liczbie rekordów, wyszukiwanie konkretnego użytkownika bez indeksu może wymagać przeszukania całej tabeli, co jest czasochłonne. W przypadku dodania indeksu do kolumny 'username', zapytanie SELECT * FROM users WHERE username = 'janek' będzie mogło wykorzystać indeks, aby natychmiastowo znaleźć odpowiedni rekord. Zgodnie z dokumentacją SQL Server i MySQL, indeksowanie jest również zalecane w przypadku kolumn, które są często modyfikowane, ponieważ pozwala na utrzymanie wysokiej wydajności przy dużych zbiorach danych. Indeksy mogą być zarówno unikalne, jak i nieunikalne, a ich odpowiednie zaplanowanie jest kluczowe dla zachowania równowagi między szybkością przetwarzania a wydajnością operacji zapisu. Ostatecznie, optymalizacja bazy danych za pomocą indeksów to niezbędny krok dla każdej aplikacji wymagającej efektywnego zarządzania danymi.

Pytanie 8

W MS SQL Server predefiniowana rola o nazwie dbcreator umożliwia użytkownikowi

A. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
B. zarządzanie zabezpieczeniami systemu
C. zarządzanie plikami na nośniku
D. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.

Pytanie 9

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. kolekcji.
B. obiektu.
C. klasy.
D. tablicy.
Dobra robota! Wybrałeś poprawną odpowiedź, czyli tablicę. W języku JavaScript, tablice służą do przechowywania wielu wartości w pojedynczej zmiennej. W podanym przykładzie, zmienna 'imiona' jest tablicą, która zawiera ciągi znaków reprezentujące imiona. Tablica w JavaScript jest obiektem globalnym, który jest używany w kontekście obiektu. Tablice są jednym z podstawowych typów danych, które są niezbędne dla tworzenia i manipulowania danymi. Tworzenie tablicy jest bardzo proste, wystarczy użyć nawiasów kwadratowych [] i oddzielić elementy za pomocą przecinków. Oto przykład: var imiona = ['Jan', 'Anna', 'Piotr'];. W praktyce, tablice są używane w wielu różnych sytuacjach, takich jak przechowywanie danych do dalszej analizy, grupowanie powiązanych danych, tworzenie list lub tabel, a także do przechowywania danych na potrzeby pętli i innych struktur sterujących.

Pytanie 10

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_close();
B. mysqli_exit();
C. mysqli_rollback();
D. mysqli_commit();
Funkcja mysqli_close() jest właściwym sposobem na zakończenie pracy z połączeniem do bazy danych MySQL w języku PHP. Użycie tej funkcji zwalnia zasoby skojarzone z danym połączeniem, co jest kluczowe w kontekście wydajności aplikacji. Po zakończeniu operacji na bazie danych, zwłaszcza w przypadku aplikacji intensywnie korzystających z zasobów, takich jak serwery webowe, ważne jest, aby zamknąć połączenie, aby uniknąć wycieków pamięci oraz ograniczyć liczbę otwartych połączeń. Przykładowo, po wykonaniu zapytań do bazy danych, stosując mysqli_close($connection), gdzie $connection to uchwyt do otwartego połączenia, można skutecznie zakończyć interakcję z bazą. Dobrą praktyką jest zamykanie połączeń w blokach finally, aby upewnić się, że zasoby są zwalniane nawet w przypadku wystąpienia wyjątków. Kiedy zamykasz połączenie, pamiętaj, że nie będziesz w stanie już korzystać z tego uchwytu połączenia, co jest zgodne z filozofią zarządzania zasobami, gdzie każdy otwarty zasób powinien być odpowiednio zamykany po zakończeniu jego użycia.

Pytanie 11

W systemie bazy danych dotyczącej pojazdów, pole kolor w tabeli samochody może przyjmować wartości tylko z listy lakier. Aby zrealizować połączenie między tabelami samochody a lakier przez relację, należy użyć kwerendy

A. <br>ALTER TABLE lakier<br> ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
B. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY barwa REFERENCES samochody.lakier;
C. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);
D. <br>ALTER TABLE samochody<br> ADD FOREIGN KEY kolor REFERENCES lakier;
Wszystkie błędne odpowiedzi opierają się na nieprawidłowym przypisaniu kluczy obcych lub niewłaściwych odniesieniach między tabelami. Przykładowo, pierwsza z odpowiedzi próbuje dodać klucz obcy do tabeli lakier, co jest niezgodne z zasadami relacyjnych baz danych, gdzie klucze obce powinny być definiowane w tabeli, która zawiera pole odnoszące się do innej tabeli. Klucz obcy powinien zawsze znajdować się w tabeli, która zawiera dane odnoszące się do innej tabeli, a nie w tabeli, z której te dane pochodzą. Druga odpowiedź sugeruje, że można dodać klucz obcy do kolumny kolor bez wskazania tabeli docelowej oraz właściwego klucza, co czyni tę odpowiedź niekompletną i błędną. Odpowiedź trzecia z kolei próbuje powiązać kolumnę barwa z tabelą samochody, co nie ma sensu w kontekście relacji; klucz obcy w tabeli samochody powinien odnosić się do klucza głównego w tabeli lakier, a nie do innej kolumny w tej samej tabeli. Typowym błędem jest także nieznajomość zasad normalizacji baz danych, co prowadzi do błędnych wniosków na temat relacji między tabelami. Zrozumienie tych zasad jest kluczowe dla właściwego projektowania struktury bazy danych oraz zapewnienia jej efektywności i integralności.

Pytanie 12

Jakie działania należy podjąć, aby stworzyć stronę internetową dostosowaną do potrzeb osób z niepełnosprawnościami, zgodnie z wytycznymi WCAG 2.x?

A. wybrać najczęściej stosowaną przeglądarkę i na niej przeprowadzać testy tworzonej strony
B. podpisywać wszystkie obrazy tekstem alternatywnym oraz kontrolki etykietami
C. używać jedynie jednej palety barw z jednym głównym kolorem oraz jego różnymi odcieniami
D. używać jedynie paragrafów, nie wykorzystywać nagłówków h1 – h6
Podpisywanie wszystkich obrazów tekstem alternatywnym oraz etykietowanie kontrolek jest kluczowym elementem tworzenia dostępnych stron internetowych i jest zgodne z wytycznymi WCAG 2.x. Tekst alternatywny (alt text) dla obrazów umożliwia użytkownikom korzystającym z technologii asystujących, takich jak czytniki ekranu, zrozumienie kontekstu wizualnego, co jest szczególnie istotne dla osób z niepełnosprawnościami wzrokowymi. Etykiety dla kontrolek, takich jak pola formularzy, również pełnią ważną rolę w dostępności, ponieważ zapewniają jasne wskazówki dotyczące interakcji i funkcji. Przykładem poprawnego zastosowania jest dodanie atrybutu alt do obrazów, jak <img src='obraz.jpg' alt='Opis obrazu'> oraz stosowanie etykiet w formularzach, np. <label for='imie'>Imię:</label>. Praktyki te są zgodne z zasadą percepcji z WCAG, która mówi, że wszystkie informacje i komponenty interaktywne muszą być dostępne dla użytkowników.

Pytanie 13

Na ilustracji przedstawiono konfigurację serwera Apache dla środowiska XAMPP. Pod jakim lokalnym adresem jest on dostępny?

Ilustracja do pytania
A. 192.168.0.1:3306
B. 127.0.0.1:70
C. localhost:80
D. htdocs
Poprawna odpowiedź to „127.0.0.1:70”, bo na zrzucie z XAMPP Control Panel w kolumnie „Port(s)” przy module Apache widać wyraźnie liczbę 70 jako port HTTP (oraz 443 jako port HTTPS). Adres 127.0.0.1 to tzw. adres loopback, czyli „localhost” – wskazuje zawsze na tę samą maszynę, na której działa przeglądarka i serwer. W praktyce oznacza to, że żeby wejść na swoją stronę testową w XAMPP, wpisujesz w przeglądarce: http://127.0.0.1:70 lub równoważnie http://localhost:70 (jeśli system poprawnie rozwiązuje nazwę „localhost”). Różnica między 127.0.0.1:70 a samym „localhost” polega na tym, że tutaj jawnie podany jest port 70, który jest niestandardowy dla HTTP. Domyślny port HTTP to 80, więc jeśli Apache działałby na porcie 80, mógłbyś wpisać samo http://localhost bez numeru portu. W tym przypadku jednak, ponieważ w XAMPP Apache nasłuchuje na porcie 70, numer portu jest obowiązkowy. To jest częsta praktyka, gdy port 80 jest już zajęty (np. przez IIS, Skype’a, inny serwer www) lub gdy chcemy równolegle uruchomić kilka instancji serwera. W realnych projektach developerskich programiści często ustawiają różne porty dla różnych środowisk, np. 8080, 8000, 3000 itd., żeby rozdzielić aplikacje i uniknąć konfliktów. Moim zdaniem warto się od razu przyzwyczaić do patrzenia w panelu XAMPP właśnie na kolumnę „Port(s)” i świadomie używać adresu IP + port – wtedy od razu wiesz, dokąd naprawdę łączy się przeglądarka i łatwiej diagnozuje się problemy z dostępem do serwera lokalnego.

Pytanie 14

Używając komendy BACKUP LOG w MS SQL Server, można

A. wykonać kopię zapasową dziennika transakcyjnego
B. zrealizować pełną kopię zapasową
C. zalogować się do kopii zapasowej
D. odczytać komunikaty generowane podczas tworzenia kopii
Wybór odpowiedzi dotyczący logowania się do kopii bezpieczeństwa wykazuje nieporozumienie dotyczące funkcji, jakie pełnią operacje backupu w MS SQL Server. Proces tworzenia kopii zapasowej dziennika transakcyjnego nie ma nic wspólnego z logowaniem się do wygenerowanej kopii; jest to osobny proces, który polega głównie na archiwizacji danych transakcyjnych. Kolejne stwierdzenie, że możliwe jest przeczytanie komunikatów wygenerowanych podczas tworzenia kopii, zakłada, że operacja backupu dostarcza interaktywnych danych na temat jej przebiegu, co nie jest zgodne z rzeczywistością. MS SQL Server zwykle loguje wyniki operacji do dziennika zdarzeń lub plików logów, ale nie jest to funkcjonalność, na którą można liczyć w codziennym użytkowaniu. Wreszcie, stwierdzenie, że BACKUP LOG pozwala na wykonanie pełnej kopii bezpieczeństwa, jest także błędne. BACKUP LOG dotyczy tylko dziennika transakcyjnego, podczas gdy pełna kopia bezpieczeństwa wykonana jest przy użyciu polecenia BACKUP DATABASE. W praktyce, wiele osób myli te dwa procesy, co prowadzi do nieefektywnego zarządzania danymi i ryzyka utraty informacji. Zrozumienie technicznych aspektów działania tych poleceń jest kluczowe dla prawidłowego administrowania bazami danych.

Pytanie 15

Fragment kodu w języku HTML zawarty w ramce ilustruje zestawienie

Ilustracja do pytania
A. wypunktowaną.
B. odnośników.
C. numerowaną.
D. skrótów.
Kod HTML zawierający znaczniki <ol> oraz <li> tworzy listę numerowaną ponieważ <ol> oznacza ordered list czyli listę uporządkowaną co skutkuje automatycznym numerowaniem każdego elementu w przeglądarkach internetowych. Znaczniki <li> reprezentują pojedyncze elementy listy zapewniając organizację danych w czytelnej formie. Taki sposób przedstawiania informacji jest powszechnie stosowany w tworzeniu dokumentów HTML i stron internetowych gdzie hierarchia i kolejność elementów ma kluczowe znaczenie. Za pomocą CSS można dodatkowo dostosować styl numerowania oraz wizualne aspekty listy co pozwala na większą elastyczność w projektowaniu interfejsu użytkownika. Standardy internetowe takie jak te rekomendowane przez W3C zachęcają do stosowania semantycznych znaczników co poprawia dostępność i SEO strony. Ponadto listy numerowane są użyteczne w sytuacjach gdy wymagana jest jasna kolejność wykonywania zadań lub prezentacja kroków w procesie co czyni je idealnym narzędziem zarówno w dokumentacji technicznej jak i w interaktywnych przewodnikach online.

Pytanie 16

Podana linia kodu została napisana w języku?

document.getElementById("paragraf1").innerHTML = wynik;
A. PHP
B. JavaScript
C. C#
D. Python
Odpowiedź JavaScript jest prawidłowa, ponieważ linia kodu, którą przedstawiono, wykorzystuje standardową metodę DOM (Document Object Model) do dynamicznej manipulacji zawartością HTML. W kodzie 'document.getElementById("paragraf1").innerHTML = wynik;' funkcja 'getElementById' służy do odnajdywania elementu HTML o identyfikatorze 'paragraf1'. Następnie, przypisanie wartości zmiennej 'wynik' do 'innerHTML' tego elementu zmienia jego zawartość tekstową. JavaScript jest głównym językiem do tworzenia interaktywnych stron internetowych i umożliwia programistom tworzenie dynamicznych funkcjonalności. Przykład praktycznego użycia to sytuacja, gdy na stronie internetowej chcemy wyświetlić obliczone wyniki w czasie rzeczywistym, np. w aplikacjach kalkulatorów online. W kontekście standardów branżowych, używanie DOM do manipulacji elementami HTML w JavaScript jest uważane za dobrą praktykę, a jego znajomość jest niezbędna dla każdego web developera.

Pytanie 17

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. CREATE INTO
B. CREATE ROW
C. SELECT ROW
D. INSERT INTO
Polecenie 'INSERT INTO' jest kluczowym elementem języka SQL, służącym do dodawania nowych wierszy danych do istniejącej tabeli w bazie danych. Użycie tego polecenia wymaga podania nazwy tabeli, do której chcemy wstawić dane, oraz listy wartości, które mają być dodane. Na przykład, polecenie 'INSERT INTO klienci (imie, nazwisko) VALUES ('Jan', 'Kowalski');' dodaje nowego klienta o imieniu Jan i nazwisku Kowalski do tabeli 'klienci'. Zgodnie z dobrymi praktykami, zawsze warto również uwzględnić obsługę błędów, aby upewnić się, że operacje na danych są bezpieczne i nie powodują naruszeń integralności bazy. Warto również pamiętać, że do jednego polecenia INSERT można dodać wiele wierszy równocześnie, na przykład: 'INSERT INTO klienci (imie, nazwisko) VALUES ('Ewa', 'Nowak'), ('Anna', 'Zielona');'. Użycie 'INSERT INTO' jest fundamentalne w pracy z bazami danych i stanowi podstawę dla bardziej zaawansowanych operacji, takich jak transakcje czy manipulacje danymi w relacyjnych bazach danych.

Pytanie 18

Który z parametrów obiektu graficznego zmieni się po zmianie wartości kanału alfa?

A. Ostrość krawędzi
B. Nasycenie barw
C. Kolejność wyświetlenia pikseli
D. Przezroczystość
Kanał alfa jest kluczowym parametrem w zarządzaniu przezroczystością obiektów graficznych. Przezroczystość definiuje, w jakim stopniu dany obiekt jest widoczny na tle innych elementów graficznych. W systemach graficznych, takich jak Adobe Photoshop czy GIMP, kanał alfa może przyjmować wartości od 0 (całkowicie przezroczysty) do 255 (całkowicie nieprzezroczysty). Kiedy zmieniamy wartość kanału alfa, manipuluje to stopniem przezroczystości danego obiektu, co ma kluczowe znaczenie w projektowaniu graficznym oraz w tworzeniu efektów wizualnych. Przykładowo, w projektowaniu interfejsów użytkownika często stosuje się przezroczystość do uzyskania efektów wizualnych, które poprawiają estetykę oraz funkcjonalność. Dobrą praktyką jest używanie przezroczystości w celu tworzenia głębi i warstwowości w grafice, co może być przydatne w animacjach oraz w aplikacjach mobilnych, gdzie przejrzystość elementów interfejsu wpływa na użyteczność i doświadczenie użytkownika. Warto pamiętać, że manipulowanie kanałem alfa powinno być wcześniej przemyślane, aby osiągnąć zamierzony efekt wizualny bez negatywnego wpływu na czytelność i odbiór projektu.

Pytanie 19

Podczas przygotowywania grafiki na stronę internetową konieczne jest wycięcie jedynie określonego fragmentu. Jak nazywa się ta operacja?

A. kadrowanie.
B. lustrzane odbicie obrazu.
C. łączenie warstw.
D. zmiana rozmiaru.
Kadrowanie to proces polegający na wycinaniu fragmentu obrazu w celu skupienia uwagi na określonym elemencie lub poprawienia kompozycji. W kontekście grafiki internetowej, kadrowanie jest kluczowe, aby dostosować zdjęcia do wymagań wizualnych strony, zachowując jednocześnie wysoką jakość obrazu. Przykładowo, jeśli tworzymy stronę dla restauracji, możemy wyciąć fragment zdjęcia dania, aby lepiej zaprezentować jego szczegóły. Dobre praktyki w kadrowaniu obejmują stosowanie zasady trzech, która polega na umiejscowieniu kluczowych elementów obrazu w punktach przecięcia linii podziału. Warto również pamiętać o rozdzielczości i proporcjach, aby uniknąć rozmycia lub zniekształcenia obrazu. Kadrowanie jest często używane w różnych formatach wizualnych, takich jak posty w mediach społecznościowych, banery reklamowe czy galerie zdjęć. W ten sposób, odpowiednie kadrowanie przyczynia się do lepszej prezentacji treści oraz poprawia estetykę i przejrzystość strony internetowej.

Pytanie 20

Jaką szerokość przeznaczono dla treści strony według podanej definicji CSS?

body {
   border: 2px;
   height: 600px;
   width: 560px;
}
A. 560 px
B. 2 px
C. 600 px
D. 640 px
Twoja odpowiedź jest poprawna. Szerokość strony została zdefiniowana na 560 pikseli w kodzie CSS. W kontekście strony internetowej, to oznacza, że cała zawartość strony będzie wyświetlana w obszarze o szerokości nie większej niż 560 pikseli. To jest bardzo ważne podczas projektowania stron internetowych. Szerokość strony często jest ustalana na stałą wartość, aby zapewnić spójność wyglądu strony na różnych urządzeniach. W praktyce, jeśli chcesz, aby strona była 'responsywna', szerokość powinna być ustawiona na wartość procentową, co pozwoli na dynamiczne dostosowanie się strony do rozmiaru okna przeglądarki. Jednak w niektórych sytuacjach, jak na przykład w przypadku określonego układu strony, możliwe jest użycie stałej wartości szerokości. W każdym razie, zapamiętaj, że szerokość strony jest jednym z najważniejszych aspektów przy projektowaniu stron internetowych, który ma bezpośredni wpływ na doświadczenia użytkownika.

Pytanie 21

Jakie technologie są konieczne do uruchomienia systemu CMS Joomla!?

A. Apache oraz PHP
B. Apache, PHP i MySQL
C. PHP oraz MySQL
D. IIS, PERL i MySQL
Joomla! jest systemem zarządzania treścią, który wymaga specyficznych technologii do prawidłowego działania. Do uruchomienia Joomla! niezbędne jest środowisko, które obejmuje serwer WWW Apache, język skryptowy PHP oraz bazę danych MySQL. Apache jest najpopularniejszym serwerem WWW, który obsługuje wiele funkcji, takich jak obsługa dynamicznych treści oraz zarządzanie dużymi ilościami ruchu. PHP jest językiem skryptowym, który pozwala na interakcję z bazą danych oraz generowanie treści w czasie rzeczywistym, co jest kluczowe dla działania CMS-a. MySQL natomiast jest systemem zarządzania bazą danych, który przechowuje wszystkie dane dotyczące witryny, takie jak artykuły, ustawienia i użytkownicy. Przykładem zastosowania tych technologii może być stworzenie strony internetowej dla lokalnej organizacji non-profit, gdzie Joomla! umożliwia łatwe zarządzanie treścią przez osoby nieposiadające zaawansowanej wiedzy technicznej. Dobre praktyki w branży zalecają stosowanie najnowszych wersji tych technologii, aby zapewnić bezpieczeństwo oraz wydajność witryny.

Pytanie 22

W CSS zapisany w ten sposób:

p { background-image: url("rysunek.png"); }

spowoduje, że rysunek.png stanie się

A. tłem każdego akapitu
B. tłem całej witryny
C. widoczny obok każdego akapitu
D. wyświetlony, jeśli w kodzie użyty zostanie znacznik img
Zapis CSS p { background-image: url("rysunek.png"); } oznacza, że dla każdego elementu akapitowego <p> w dokumencie zostanie ustawione tło w postaci grafiki o nazwie rysunek.png. Ta reguła selektora p dotyczy wyłącznie znaczników akapitu, więc nie wpłynie na inne elementy strony, takie jak body czy img. Tak się to stosuje w praktyce: projektując na przykład bloga, możesz dodać delikatny deseń lub obrazek w tle akapitu, żeby całość wyglądała ciekawiej albo podkreślała styl witryny. Co ciekawe, background-image w CSS pozwala na olbrzymią elastyczność — możesz wykorzystać obrazy, gradienty czy nawet SVG jako tło. Standardy CSS jasno to definiują: background-image działa zawsze na tym elemencie, dla którego zadeklarowano regułę w selektorze. Warto pamiętać, że tło nie przesłoni tekstu w akapicie, tylko się pod nim wyświetli, więc czytelność jest zachowana. Z własnego doświadczenia uważam, że umiejętność stosowania background-image do konkretnych elementów to jedno z podstawowych narzędzi webdevelopera — pozwala przygotować naprawdę estetyczne i przejrzyste layouty. Dobrym nawykiem jest także testowanie widoczności tła na różnych urządzeniach, bo rozdzielczości i skalowanie potrafią zaskoczyć. Dla porządku, jeśli podasz background-image bez żadnych dodatkowych parametrów (jak powtarzanie czy pozycjonowanie), obrazek domyślnie będzie się powtarzał w poziomie i pionie, aż pokryje cały akapit.

Pytanie 23

Podane w ramce polecenie SQL nadaje prawo SELECT

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. dla użytkownika 'root' na serwerze sprzedawca.
B. do wszystkich pól w tabeli hurtownia.
C. do wszystkich tabel w bazie hurtownia.
D. dla użytkownika 'root' na serwerze localhost.
To polecenie GRANT jest typowym przykładem, gdzie drobny szczegół składni całkowicie zmienia znaczenie. Wiele osób intuicyjnie myśli, że skoro pojawia się nazwa hurtownia, to chodzi o tabelę o takiej nazwie, albo że skoro często pracuje się na koncie root, to uprawnienia dotyczą właśnie jego. Tutaj jednak kluczowe są dwie rzeczy: zapis hurtownia.* oraz dokładna forma 'sprzedawca'@'localhost'. W MySQL konstrukcja nazwa_bazy.* jednoznacznie oznacza całą bazę danych, czyli wszystkie tabele znajdujące się w tej bazie. Gwiazdka nie oznacza „wszystkich pól w tabeli”, jak w SELECT * FROM tabela; tylko „wszystkie obiekty danego typu w tym kontekście”, czyli w tym wypadku wszystkie tabele w bazie hurtownia. Błąd myślowy bierze się stąd, że ludzie przenoszą swoje skojarzenia z SELECT * na GRANT, a to są jednak różne miejsca w składni SQL. Jeśli chcielibyśmy nadać uprawnienie tylko do jednej tabeli, używamy zapisu nazwa_bazy.nazwa_tabeli, bez gwiazdki. Na przykład GRANT SELECT ON hurtownia.klienci TO 'sprzedawca'@'localhost'; dotyczyłoby tylko tabeli klienci. Wtedy dopiero można by mówić o dostępie do wszystkich pól w tej konkretnej tabeli, bo SELECT z założenia domyślnie widzi wszystkie kolumny, chyba że zastosujemy uprawnienia na poziomie kolumn, co jest już bardziej zaawansowanym tematem. Druga częsta pomyłka to utożsamianie każdego polecenia GRANT z użytkownikiem root. W MySQL użytkownik jest identyfikowany przez parę login@host. W naszym przykładzie stoi tam wyraźnie 'sprzedawca'@'localhost', więc nie ma tu żadnego roota. Gdyby chodziło o konto root, składnia musiałaby wyglądać np. 'root'@'localhost'. Co więcej, host sprzedawca w ogóle nie występuje w tym poleceniu – pojawia się tylko jako nazwa użytkownika. To powoduje czasem dodatkowe zamieszanie: ktoś widzi słowo sprzedawca i myśli, że to nazwa serwera, a localhost to użytkownik, co jest całkowicie odwrotnie. Z punktu widzenia dobrych praktyk administracji bazą danych, nadawanie uprawnień rootowi poleceniem GRANT w aplikacjach produkcyjnych jest zresztą złym pomysłem. Standardem jest tworzenie osobnych kont, takich jak sprzedawca, księgowy czy aplikacja_web, z precyzyjnie dobranymi uprawnieniami do konkretnych baz. Wtedy dokładnie wiemy, kto może co czytać i modyfikować. Z mojego doświadczenia wynika, że większość problemów z bezpieczeństwem wynika właśnie z używania zbyt szerokich uprawnień, głównie konta root tam, gdzie absolutnie nie jest potrzebne. Podsumowując: to polecenie nie nadaje dostępu do „wszystkich pól w tabeli hurtownia”, bo hurtownia jest tu bazą, a nie tabelą. Nie dotyczy też użytkownika root ani żadnego serwera o nazwie sprzedawca. Nadaje ono prawo SELECT do wszystkich tabel w bazie hurtownia konkretnemu użytkownikowi o nazwie sprzedawca, który łączy się z hosta localhost. Zrozumienie tej składni jest kluczowe przy zarządzaniu uprawnieniami w MySQL i ogólnie w systemach baz danych.

Pytanie 24

Można przypisać wartości: static, relative, fixed, absolute oraz sticky do właściwości

A. text-transform
B. position
C. display
D. list-style-type
Właściwość CSS 'position' służy do określenia, w jaki sposób element jest pozycjonowany na stronie. Wartości takie jak static, relative, fixed, absolute oraz sticky definiują różne metody pozycjonowania elementów w kontekście innych obiektów oraz w kontekście samego okna przeglądarki. Na przykład, 'static' jest wartością domyślną, co oznacza, że elementy są umieszczane w naturalnym porządku w dokumencie HTML. 'Relative' pozwala na przesunięcie elementu względem jego normalnej pozycji, co daje większą elastyczność w projektowaniu layoutów. 'Absolute' pozycjonuje element względem najbliższego przodka, który również ma ustawioną właściwość 'position' różną od 'static', co umożliwia precyzyjne umiejscowienie elementów. 'Fixed' sprawia, że element pozostaje w tym samym miejscu w oknie przeglądarki, nawet podczas przewijania strony, co jest często wykorzystywane w przypadku nagłówków i stopki. 'Sticky' łączy cechy 'relative' i 'fixed', umożliwiając elementowi bycie na stałe w zasięgu widoku, ale tylko do momentu, gdy nie zostanie przewinięty poza jego kontener. Używanie tych wartości w praktyce pozwala na tworzenie responsywnych i dynamicznych interfejsów użytkownika, które są zgodne z dobrymi praktykami projektowania stron internetowych.

Pytanie 25

Zachowanie integralności encji w bazie danych będzie miało miejsce, jeżeli między innymi

A. każdy klucz główny będzie miał odpowiadający mu klucz obcy w innej tabeli
B. klucz główny zawsze będzie liczbą całkowitą
C. dla każdej tabeli zostanie ustanowiony klucz główny
D. każdej kolumnie przypisany zostanie typ danych
Wszystkie zaproponowane odpowiedzi mogą wydawać się związane z tematyką integralności encji, jednak nie każda z nich rzeczywiście przyczynia się do jej zachowania w kontekście baz danych. Użycie klucza głównego jako liczby całkowitej nie jest kryterium zapewniającym integralność; klucz główny może być również tekstowy lub złożony, o ile spełnia warunki unikalności i braku wartości NULL. Przypisanie typu danych dla każdej kolumny jest ważne dla sprawności operacji na danych, ale samo w sobie nie zapewnia integralności encji, ponieważ nie kontroluje unikalności rekordów. Kolejnym błędnym podejściem jest twierdzenie, że każdy klucz główny musi mieć odpowiadający klucz obcy w innej tabeli. Klucz obcy jest używany do ustanowienia relacji między tabelami, ale nie jest wymagany do zapewnienia integralności encji w pojedynczej tabeli. Klucz główny w jednej tabeli działa niezależnie od kluczy obcych w innych tabelach; jego główną rolą jest zapewnienie, że każdy rekord w tabeli jest unikalny. W praktyce, brak zrozumienia tych koncepcji może prowadzić do projektowania baz danych, które są nieefektywne i trudne do zarządzania, co w dłuższej perspektywie wpływa na jakość danych i ich dostępność.

Pytanie 26

W programie Audacity, podczas edytowania dźwięku pozyskanego z płyty analogowej, konieczne jest usunięcie pojedynczych trzasków typowych dla płyt winylowych. Jakie narzędzie jest do tego celu przeznaczone?

A. Redukcja szumu (Noise Reduction)
B. Usuwanie stukotu (Click Removal)
C. Normalizuj (Normalize)
D. Obwiednia (Envelope)
Odpowiedź 'Usuwanie stukotu (Click Removal)' jest poprawna, ponieważ narzędzie to jest specjalnie zaprojektowane do eliminowania niepożądanych dźwięków, takich jak trzaski i kliknięcia, które często występują na nagraniach pochodzących z płyt winylowych. Proces ten opiera się na analizie sygnału audio, identyfikując charakterystyczne wzorce związane z trzaskami, a następnie ich usuwaniu bez wpływania na jakość dźwięku pozostałej części nagrania. W praktyce, użytkownicy Audacity mogą z łatwością zaznaczyć fragmenty dźwięku i zastosować to narzędzie, co pozwala na precyzyjne i efektywne usuwanie zakłóceń. Ponadto, dobre praktyki w obróbce audio zalecają przeprowadzanie testów na różnych ustawieniach narzędzia, co pomaga w uzyskaniu optymalnych rezultatów. Warto również wspomnieć, że podczas pracy z analogowymi źródłami dźwięku, usuwanie stukotu powinno być częścią szerszego procesu poprawy jakości dźwięku, który może obejmować także inne techniki, takie jak normalizacja poziomów czy redukcja szumów, co pozwala na uzyskanie czystszego i bardziej profesjonalnego brzmienia nagrania.

Pytanie 27

Innym terminem określającym saturację koloru jest

A. przezroczystość koloru
B. dopełnienie koloru
C. nasycenie koloru
D. jasność koloru
Saturacja koloru, znana również jako nasycenie koloru, to jeden z kluczowych parametrów opisujących barwę w przestrzeni kolorów. Nasycenie odnosi się do intensywności koloru; im wyższe nasycenie, tym kolor jest bardziej żywy i intensywny, natomiast niższe nasycenie sprawia, że kolor wydaje się bardziej szary lub wyblakły. W praktyce, nasycenie jest często regulowane w programach graficznych, takich jak Adobe Photoshop, gdzie użytkownicy mogą manipulować suwakiem nasycenia, aby uzyskać pożądany efekt wizualny. W sztuce i designie nasycenie jest kluczowe w tworzeniu harmonijnych kompozycji kolorystycznych, które przyciągają wzrok i wywołują określone emocje. Standardy takie jak HSV (Hue, Saturation, Value) oraz HSL (Hue, Saturation, Lightness) są powszechnie stosowane do opisywania kolorów w odniesieniu do ich nasycenia, pozwalając artystom i projektantom na precyzyjne definiowanie kolorów w różnych mediach. Przykładem może być wykorzystanie intensywnego czerwonego koloru w reklamie, gdzie wysoka saturacja przyciąga uwagę potencjalnych klientów, co jest istotnym aspektem marketingowym.

Pytanie 28

Który z poniższych sposobów na komentarz jednoliniowy jest akceptowany w języku JavaScript?

A. //
B. #
C. <!
D. !
W JavaScript, jeśli chcesz dodać komentarz jednoliniowy, musisz użyć podwójnych ukośników, czyli '//' na początku linii. Te komentarze są naprawdę przydatne, bo pozwalają ci opisać, co robi dany kawałek kodu, albo czasami wyłączyć fragmenty podczas testowania. Co fajne, to że wszystko, co napiszesz za '//' zostanie zignorowane przez interpreter, więc nie będzie miało wpływu na działanie skryptu. Przykład: masz linijkę 'let x = 5; // Ustawia wartość x na 5', i wszystko po '//' nie będzie brane pod uwagę przez JavaScript. Komentarze są zgodne z ECMAScript, który jest takim standardem dla tego języka. Szczerze mówiąc, dobrze jest używać komentarzy do dokumentacji, bo to ułatwia czytanie kodu i pracę z innymi programistami. Pamiętaj, żeby robić je zwięzłe, ale muszą też dobrze tłumaczyć, co miał na myśli autor kodu.

Pytanie 29

Jaki jest cel funkcji napisanej w PHP?

function fun1($liczba)
{
  if($liczba % 2 == 0)
    return 1;

  return 0;
}
A. Zwrócenie wartości 0, gdy liczba jest parzysta
B. Zwrócenie wartości 1, gdy liczba jest parzysta
C. Wypisanie liczby nieparzystej
D. Wypisanie liczby parzystej
Funkcja w języku PHP została zaprogramowana w taki sposób, aby najpierw sprawdzić, czy podana liczba jest parzysta, używając operatora modulo (%). Operacja $liczba % 2 == 0 sprawdza resztę z dzielenia przez 2, która dla liczb parzystych wynosi 0. Jeśli warunek jest spełniony, funkcja natychmiast zwraca wartość 1, co oznacza, że liczba jest parzysta. Taki sposób kodowania jest wydajny, ponieważ funkcja zakończy działanie natychmiast po spełnieniu warunku, bez dalszego przetwarzania. Jest to dobry przykład stosowania operacji warunkowych w funkcjach, co jest zgodne z dobrymi praktykami programistycznymi, zwłaszcza gdy zależność logiczna jest prosta i może być szybko zidentyfikowana. Takie funkcje często wykorzystywane są w systemach walidacji danych, gdzie szybkie potwierdzenie poprawności danych jest kluczowe dla wydajności całego systemu. Pozwala również na łatwe rozszerzenie logiki, jeśli w przyszłości zajdzie taka potrzeba.

Pytanie 30

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. parzystej.
B. nieparzystej.
C. najmniejszej.
D. największej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 31

Definicja formularza została użyta na stronie internetowej, która przesyła dane do pliku napisanego w języku PHP. W jakiej tablicy będą dostępne dane z tego formularza?

Ilustracja do pytania
A. $_GET
B. $_COOKIE
C. $_POST
D. $_ACTION
Tablica $_POST w PHP służy do przechwytywania danych przesyłanych za pomocą metody POST. Jest to standardowa praktyka w przypadku formularzy, które zawierają dane wrażliwe lub dużą ilość informacji. Metoda POST przesyła dane w treści żądania HTTP, co oznacza, że nie są one widoczne w adresie URL, co zwiększa bezpieczeństwo w porównaniu do metody GET. Przykładem zastosowania mogą być formularze logowania czy przesyłania plików. W PHP dostęp do danych z formularza można uzyskać poprzez prostą składnię, na przykład $_POST['nazwa_pola']. Ważne jest, aby zawsze walidować i filtrować dane wejściowe, aby zabezpieczyć aplikację przed atakami typu SQL Injection czy XSS. Zastosowanie metody POST jest zgodne z ogólnymi zasadami bezpieczeństwa i standardami projektowania aplikacji webowych, które zalecają ograniczanie widoczności danych przesyłanych przez użytkownika. Dobre praktyki obejmują również stosowanie HTTPS, aby dodatkowo zaszyfrować dane przesyłane pomiędzy klientem a serwerem.

Pytanie 32

Jakie dane zostaną wyświetlone po wykonaniu podanych poleceń?

bool gotowe = true;
cout << gotowe;
A. nie
B. tak
C. 0
D. 1
W języku C++ zmienne typu bool mogą przyjmować jedynie dwie wartości: true i false. Gdy zmienna typu bool zostanie wypisana przy użyciu standardowego strumienia wyjściowego cout, to domyślnie wartości true i false są konwertowane na liczby całkowite 1 i 0 odpowiednio. Dlatego w zaprezentowanym fragmencie kodu zmiennej gotowe przypisano wartość true, a następnie jej zawartość została wypisana przy użyciu cout. Wynikiem tego działania będzie wyświetlenie liczby 1 na ekranie. Jest to zgodne z domyślnym zachowaniem cout w przypadku zmiennych typu bool w C++. Aby modyfikować to zachowanie i bezpośrednio wypisywać słowa true lub false, można użyć specjalnej flagi boolalpha, która sprawia, że wartości logiczne są reprezentowane jako tekst. Jednak w podanym przykładzie nie użyto tej flagi, co prowadzi do wypisania wartości liczbowej. Takie podejście jest powszechne w wielu aplikacjach, gdzie wartości logiczne muszą być szybko zamieniane na wartości liczbowe, na przykład w obliczeniach binarnych czy przy operacjach bitowych. Poprawne zrozumienie tego mechanizmu jest kluczowe dla programistów tworzących efektywne i czytelne aplikacje w C++.

Pytanie 33

Które zdarzenie umożliwia wykonanie skryptu w języku JavaScript podczas przesyłania formularza HTML oraz kontrolowanie jego wysłania?

A. onSubmit
B. onEnter
C. onChange
D. onClick
Odpowiedź 'onSubmit' jest poprawna, ponieważ to zdarzenie w języku JavaScript jest bezpośrednio związane z wysyłaniem formularzy HTML. Gdy użytkownik klika przycisk wysyłania formularza lub gdy formularz jest wysyłany za pomocą klawisza Enter, zdarzenie 'onSubmit' zostaje wywołane. Dzięki temu można zaimplementować walidację danych wprowadzonych przez użytkownika przed ich przesłaniem do serwera. Na przykład, można sprawdzić, czy wszystkie wymagane pola są wypełnione oraz czy dane są zgodne z określonym formatem, zanim formularz zostanie przesłany. Aby to zrobić, można dodać funkcję JavaScript do atrybutu onsubmit w tagu <form>, co pozwoli na zatrzymanie wysyłania formularza, jeśli warunki walidacji nie są spełnione. Jest to zgodne z dobrymi praktykami w zakresie tworzenia formularzy, które powinny być zarówno funkcjonalne, jak i przyjazne dla użytkownika. Dodatkowo, przy użyciu metody preventDefault() w obiekcie zdarzenia można zablokować domyślną akcję formularza, co daje pełną kontrolę nad procesem wysyłania.

Pytanie 34

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

A. Inwersja.
B. Progowanie.
C. Krzywe.
D. Barwienie.
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 35

W języku JavaScript zdefiniowano obiekt ```obiekt = { q: 1, w: 2, e: 3, r: 4 };``` W jaki sposób można uzyskać wartość właściwości ```w```?

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

Pytanie 36

Edytor, który spełnia kryteria WYSIWYG, powinien umożliwiać

A. publikację strony na serwerze za pomocą wbudowanego klienta FTP
B. tworzenie podstawowych grafik wektorowych
C. osiągnięcie zbliżonego rezultatu tworzonej strony do jej wyglądu w przeglądarce internetowej
D. przygotowanie plików dźwiękowych przed ich umieszczeniem na stronie internetowej
Edytory WYSIWYG (What You See Is What You Get) mają na celu umożliwienie użytkownikom tworzenia i edytowania treści w sposób, który przypomina ostateczny wygląd strony internetowej. Odpowiedź dotycząca uzyskania zbliżonego wyniku tworzonej strony do jej obrazu w przeglądarce internetowej jest kluczowym aspektem działania takich edytorów. Umożliwiają one użytkownikom natychmiastowe podglądanie efektów wprowadzanych zmian, co jest nieocenione przy projektowaniu stron. Przykładem może być edytor tak jak Adobe Dreamweaver czy WordPress, które pozwalają na wizualne projektowanie układu, co redukuje potrzebę ręcznego kodowania. Przy tworzeniu stron internetowych zgodnie z dobrymi praktykami, edytory WYSIWYG powinny wspierać standardy HTML i CSS, co zapewnia, że efekty wizualne są zgodne z tym, co użytkownik zobaczy w przeglądarce. Takie podejście zwiększa efektywność pracy, a także ułatwia współpracę między programistami a designerami.

Pytanie 37

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. weryfikacja, czy baza działa wystarczająco efektywnie
B. przyznanie uprawnień do przeglądania bazy dla Administratora
C. określenie systemu kodowania znaków w bazie
D. sprawdzenie integralności bazy oraz ewentualna jej naprawa
Sprawdzenie integralności bazy danych MySQL przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który zapewnia, że wszystkie dane są w dobrym stanie i nie występują żadne uszkodzenia. Integralność bazy danych odnosi się do spójności i poprawności danych przechowywanych w bazie. Narzędzia takie jak 'CHECK TABLE' oraz 'REPAIR TABLE' pozwalają na identyfikację i naprawę potencjalnych problemów związanych z uszkodzeniami tabel. Przykładem może być sytuacja, w której dane zostały nieprawidłowo zapisane lub usunięte, co może prowadzić do błędów w aplikacjach korzystających z bazy. W przypadku wykrycia problemów, ich naprawa przed stworzeniem kopii zapasowej jest niezbędna, aby uniknąć przenoszenia uszkodzonych danych do nowej lokalizacji. Standardy branżowe, takie jak ISO 27001, podkreślają znaczenie zarządzania integralnością danych, co stanowi fundament skutecznych strategii backupowych. Właściwie przeprowadzona diagnostyka przed wykonaniem kopii bezpieczeństwa nie tylko minimalizuje ryzyko utraty danych, ale również zwiększa efektywność procesów przywracania systemu po awarii.

Pytanie 38

Do stworzenia stron internetowych w sposób graficzny należy zastosować

A. oprogramowanie MS Office Picture Manager
B. aplikację typu WYSIWYG
C. narzędzie do edycji CSS
D. program do przeglądania stron
Edytory CSS, mimo że są istotnym narzędziem w tworzeniu stron internetowych, nie są programami graficznymi. Edytory te, takie jak Sublime Text czy Visual Studio Code, pozwalają na pisanie i edytowanie arkuszy stylów CSS, które definiują wygląd strony, ale nie oferują wizualnej reprezentacji tego, co użytkownik finalnie zobaczy w przeglądarce. Oznacza to, że chociaż edytory CSS są niezbędne do stylizacji stron, nie umożliwiają one tworzenia stron w sposób graficzny. Przeglądarki internetowe, z kolei, są narzędziami do przeglądania już stworzonych stron, a nie do ich tworzenia. Choć pozwalają na podgląd efektów pracy, nie oferują funkcji edycyjnych ani twórczych. Użytkownik nie jest w stanie stworzyć strony bezpośrednio w przeglądarce. Program MS Office Picture Manager jest zupełnie nieodpowiedni do graficznego tworzenia stron internetowych, ponieważ jest to narzędzie do zarządzania obrazami, a nie do tworzenia treści webowej. Umożliwia jedynie edytowanie zdjęć i grafik, co jest zupełnie innym procesem niż projektowanie stron internetowych. W kontekście tworzenia witryn, narzędzia te nie spełniają wymaganych funkcji, takich jak edytowanie kodu czy wizualne układanie elementów na stronie, co czyni je nieodpowiednimi do tego zadania.

Pytanie 39

Podczas edytowania grafiki w programie do obróbki grafiki rastrowej należy usunąć kolory z obrazu, aby uzyskać wersję w odcieniach szarości. Do osiągnięcia tego efektu można wykorzystać funkcję

A. desaturacji
B. szumu RGB
C. kadrowania
D. filtru rozmycia
Desaturacja to proces, który polega na usunięciu kolorów z obrazu, co skutkuje uzyskaniem odcieni szarości. Technika ta jest powszechnie wykorzystywana w edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP. Desaturacja obrazu można zrealizować na kilka sposobów, na przykład poprzez zastosowanie odpowiednich filtrów lub narzędzi. W praktyce, desaturując obraz, można uzyskać różne efekty wizualne, które podkreślają fakturę i kształt elementów, a także mogą być użyteczne w kontekście analizy zdjęć medycznych czy archiwalnych. Standardy dotyczące edycji grafiki, takie jak Adobe RGB czy sRGB, również uwzględniają desaturację jako istotny element przetwarzania kolorów. Warto zauważyć, że desaturacja nie jest tym samym co konwersja do odcieni szarości; pierwsza metoda zachowuje wartości jasności kolorów, podczas gdy druga przekształca je w jednolite odcienie szarości, co może prowadzić do utraty detali. Zastosowanie desaturacji jest szczególnie przydatne w przypadku fotografii czarno-białej, gdzie kluczowe jest zachowanie kontrastu i detali w obrazie.

Pytanie 40

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. div.menu { background-color: green; }
B. #menu { background-color: rgb(0,255,0); }
C. div:menu { color: green; }
D. menu { background-color: rgb(0,255,0); }
Wybrana odpowiedź to poprawna definicja stylu CSS dla klasy "menu". W stylach CSS, selektor klasy definiuje się za pomocą kropki przed nazwą klasy, co w przypadku tego fragmentu oznacza, że styl zostanie zastosowany do każdego elementu HTML z klasą 'menu'. Oznaczenie 'div.menu' wskazuje, że formatowanie dotyczy tylko elementów <div> o klasie 'menu', co jest ważne, aby ograniczyć wpływ stylów tylko do wybranych elementów. Kolor tła jest ustawiony na zielony za pomocą właściwości 'background-color: green;', co jest zgodne z wymogami zadania. Używanie kolorów w formacie nazwanym, takim jak 'green', jest zgodne z powszechnie przyjętymi standardami w CSS, co ułatwia czytelność kodu. Przykładem praktycznym może być zastosowanie tego stylu w serwisie internetowym, gdzie różne sekcje menu są kolorystycznie wydzielone dla lepszej nawigacji. Dobrych praktyk w CSS należy przestrzegać, aby utrzymać spójność i łatwość w utrzymaniu kodu.