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: 29 kwietnia 2026 09:01
  • Data zakończenia: 29 kwietnia 2026 09:29

Egzamin zdany!

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

Aby uczynić stronę internetową bardziej dostępną dla osób niewidomych, należy przypisać obrazom wyświetlanym za pomocą znacznika img odpowiedni atrybut

A. style
B. src
C. alt
D. text
Atrybut alt (alternatywny) jest niezbędnym elementem w kontekście dostępności stron internetowych. Jego podstawową funkcją jest dostarczenie opisu graficznego treści zawartych w obrazach dla użytkowników korzystających z czytników ekranu. Dzięki temu niewidomi lub słabo widzący użytkownicy mogą zrozumieć, co przedstawia dany obraz. Przykładowo, jeśli na stronie znajduje się zdjęcie przedstawiające psa bawiącego się w parku, atrybut alt mógłby mieć wartość "Pies bawiący się w parku na zielonej trawie". To pozwala użytkownikowi na mentalne odtworzenie obrazu i kontekstu. W praktyce, zgodnie z wytycznymi WCAG (Web Content Accessibility Guidelines), każdy obraz użyty na stronie internetowej powinien mieć przypisany opis w atrybucie alt, co zwiększa dostępność i użyteczność treści. Warto również pamiętać, że atrybut alt powinien być używany tylko w sytuacjach, gdy obraz ma znaczenie dla treści; obrazy dekoracyjne powinny mieć pusty atrybut alt (alt=""). Dobre praktyki w zakresie dostępności podkreślają, że właściwe stosowanie atrybutów alt nie tylko wspiera użytkowników z niepełnosprawnościami, ale także poprawia SEO, gdyż wyszukiwarki lepiej rozumieją treści obrazów.

Pytanie 2

Z tabeli mieszkancy trzeba wydobyć unikalne nazwy miast, w tym celu należy użyć wyrażenia SQL zawierającego klauzulę

A. HAVING
B. CHECK
C. DISTINCT
D. UNIQUE
Odpowiedź 'DISTINCT' jest prawidłowa, ponieważ klauzula ta w SQL służy do eliminacji duplikatów z wyników zapytania. Gdy chcemy uzyskać unikalne wartości z określonej kolumny, stosujemy 'SELECT DISTINCT nazwa_kolumny FROM nazwa_tabeli'. Na przykład, używając zapytania 'SELECT DISTINCT miasto FROM mieszkancy', otrzymamy jedynie unikalne nazwy miast bez powtórzeń. To podejście jest szczególnie przydatne w analizach, gdzie kluczowe jest posiadanie jedynie jednorazowych wartości, na przykład w raportach marketingowych czy badaniach demograficznych. W praktyce 'DISTINCT' powinno być używane z rozwagą, gdyż jego użycie może wpływać na wydajność zapytania, zwłaszcza w przypadku dużych zbiorów danych. Należy również pamiętać, że 'DISTINCT' dotyczy wszystkich kolumn w zapytaniu – jeśli wybierzemy więcej niż jedną kolumnę, to zduplikowane wiersze będą usuwane tylko wtedy, gdy wszystkie kolumny są identyczne. To sprawia, że 'DISTINCT' jest elastycznym narzędziem w SQL, pozwalającym na efektywne zarządzanie i przetwarzanie danych.

Pytanie 3

Jaką złożoność obliczeniową mają problemy związane z przeprowadzaniem operacji na łańcuchach lub tablicach w przypadku dwóch zagnieżdżonych pętli przetwarzających wszystkie elementy?

A. O(n)
B. O(n!)
C. O(log n)
D. O(n2)
Odpowiedź O(n²) jest jak najbardziej trafna. Wiesz, jak to działa? Gdy masz dwie zagnieżdżone pętle, które przetwarzają elementy w kolekcji, to liczba operacji rośnie kwadratowo w zależności od tego, ile tych elementów masz. Dla n elementów w tablicy, każda z tych n elementów wymaga n operacji w drugiej pętli, co daje razem n*n, czyli n². Przykłady? Algorytmy sortowania bąbelkowego czy przez wstawianie świetnie to ilustrują – obydwa działają w czasie O(n²). Pamiętaj, że jako programiści musimy zwracać uwagę na złożoność algorytmów, bo to wpływa na wydajność naszych aplikacji, szczególnie gdy mamy do czynienia z dużymi zbiorami danych. Dobrze jest próbować optymalizować złożoność, żeby nie wpaść w pułapki wydajnościowe. No i fakt, przy problemach, gdzie musimy porównywać wszystkie elementy, O(n²) to często jedyna opcja, która się sprawdza.

Pytanie 4

Co należy zrobić, gdy rozmiar pliku graficznego jest zbyt duży do umieszczenia w Internecie?

A. zmniejszyć jego rozdzielczość
B. zapisać w formacie BMP
C. dodać kanał alfa
D. zwiększyć jego głębię kolorów
Zmniejszenie rozdzielczości pliku graficznego to jedna z najskuteczniejszych metod redukcji jego rozmiaru, co jest kluczowe przy publikacji w Internecie. Rozdzielczość odnosi się do ilości pikseli, które tworzą obraz, a jej zmniejszenie prowadzi do mniejszej ilości danych do przechowania. Przykładowo, zamiast publikować obraz o rozdzielczości 4000x3000 pikseli, można zmniejszyć go do 1920x1080, co drastycznie zmniejszy wielkość pliku bez zauważalnej utraty jakości wizualnej na ekranach komputera czy urządzeń mobilnych. Zmniejszenie rozdzielczości jest zgodne z najlepszymi praktykami w zakresie optymalizacji zasobów internetowych, w tym zasadami dotyczącymi czasu ładowania strony i wydajności. Dodatkowo, odpowiednia rozdzielczość może poprawić doświadczenia użytkowników, zmniejszając czas ładowania i zwiększając responsywność witryn. Warto również pamiętać o formatowaniu plików graficznych, gdzie JPEG jest często preferowanym formatem dla zdjęć, a PNG dla obrazów z przezroczystością. Stosowanie technologii takich jak responsywne obrazy również przyczynia się do efektywnej prezentacji graficznej w sieci, co ma kluczowe znaczenie w dzisiejszym świecie online.

Pytanie 5

Tabela odlotów zawiera dane przedstawione na ilustracji. Wykonanie zapytania SQL spowoduje zwrócenie informacji:

SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
idsamoloty_idnr_rejsukierunekczasdzienstatus_lotu
11FR1646Neapol09:20:002019-07-25wystartowal
21FR1327ALICANTE09:10:002019-07-25Opóźniony 10 min
32W63425Warszawa09:45:002019-07-25odprawa
43LX5647Londyn LT10:03:002019-07-25odprawa
53LX5673Malta10:06:002019-07-25opoznienie 20 min
63LX5622Wieden10:13:002019-07-25
74LH9821Berlin10:16:002019-07-25
84LH9888Hamburg10:19:002019-07-25
A. 4; 5; 6; 7; 8
B. zbiór pusty
C. 5; 8
D. 3; 5; 8
Zapytanie SQL SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' używa dwóch warunków w klauzuli WHERE. Pierwszy warunek samoloty_id > 2 filtruje rekordy, których pole samoloty_id jest większe niż 2. Drugi warunek kierunek LIKE '_a%' szuka w kolumnie kierunek ciągów znaków, które mają literę 'a' jako drugi znak, co jest osiągane przez użycie znaku podkreślenia '_' jako symbolu jednego dowolnego znaku. Operator LIKE pozwala na dopasowanie wzorca z użyciem symboli wieloznacznych, co jest przydatne w sytuacjach, gdy potrzebujemy znaleźć dane na podstawie częściowego dopasowania tekstu. Zastosowanie wzorca '_a%' oznacza, że szukamy tylko takich wartości, które mają co najmniej dwa znaki, a drugim znakiem musi być 'a'. W tabeli odloty, rekordy spełniające oba te warunki to rekordy 5 i 8, ponieważ ich pole samoloty_id jest odpowiednio 3 i 4 (czyli większe niż 2), a pole kierunek to odpowiednio Malta i Hamburg, które pasują do wzorca '_a%' gdzie 'M' i 'H' to odpowiednio pierwszy znak. Praktyczne zastosowanie takich zapytań SQL pozwala na efektywne przeszukiwanie baz danych pod kątem specyficznych potrzeb użytkownika, co ma kluczowe znaczenie w zarządzaniu informacjami w dużych systemach.

Pytanie 6

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. zmiana rozmiaru.
D. łączenie warstw.
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 7

W języku JavaScript poniższy fragment funkcji ma na celu

wynik = 0;
for (i = 0; i < tab.length; i++) {
  wynik += tab[i];
}
A. obliczyć sumę wszystkich elementów tablicy
B. wprowadzić do każdego elementu tablicy bieżącą wartość zmiennej i
C. wyświetlić wszystkie elementy tablicy
D. dodać do każdego elementu tablicy ustaloną wartość
Funkcja w podanym fragmencie rzeczywiście ma na celu policzenie sumy wszystkich elementów tablicy. Przy inicjalizacji zmiennej 'wynik' na 0, kod iteruje przez każdy element tablicy 'tab' przy użyciu pętli for. W każdej iteracji do 'wynik' dodawana jest wartość bieżącego elementu tablicy, co prowadzi do skumulowania wszystkich wartości. Tego typu operacje są powszechnie stosowane w programowaniu, szczególnie w analizie danych, gdzie często zachodzi potrzeba obliczenia sumy, średniej lub innych statystyk na podstawie zebranych danych. Ważne jest również, aby pamiętać o typach danych w JavaScript – elementy tablicy powinny być liczbami, aby suma była poprawna. Zastosowanie tej techniki jest standardem w wielu algorytmach i jest fundamentalne dla zrozumienia bardziej zaawansowanych koncepcji, jak np. funkcje redukujące.

Pytanie 8

W języku JavaScript trzeba zapisać warunek, który będzie prawdziwy, gdy zmienna a będzie jakąkolwiek liczbą naturalną dodatnią (bez 0) lub zmienna b przyjmie wartość z zamkniętego przedziału od 10 do 100. Wyrażenie logiczne w tym warunku ma formę

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))
Warunek zapisany w języku JavaScript jako (a>0) || ((b>=10) && (b<=100)) jest poprawny, ponieważ spełnia wymagania dotyczące sprawdzenia, czy zmienna a jest liczbą naturalną dodatnią oraz czy zmienna b mieści się w przedziale od 10 do 100. Wyrażenie logiczne wykorzystuje operator || (alternatywa), który zwraca true, jeśli przynajmniej jeden z warunków jest spełniony. Warunek a>0 zapewnia, że zmienna a jest większa od zera, co jest zgodne z definicją liczb naturalnych dodatnich. Z kolei wyrażenie (b>=10) && (b<=100) sprawdza, czy zmienna b jest w zadanym przedziale, co jest zgodne z wymaganiami. Wartości graniczne 10 i 100 są uwzględnione dzięki operatorowi && (konjunkcja), który wymaga, aby oba warunki były prawdziwe, aby całe wyrażenie zwróciło true. W praktyce, takie podejście można wykorzystać w różnych kontekstach, np. walidacji danych wejściowych w formularzach internetowych, gdzie kluczowe jest zapewnienie, że użytkownik wprowadza poprawne wartości. Tego rodzaju wyrażenia logiczne są fundamentem programowania w JavaScript, umożliwiając tworzenie bardziej złożonych logik aplikacji. Zgodnie z dokumentacją ECMAScript, użycie operatorów logicznych jest standardowym sposobem na przetwarzanie warunków w programowaniu.

Pytanie 9

W języku JavaScript, funkcja Math.pow() wykorzystuje się do obliczenia

A. wartości bezwzględnej liczby
B. potęgi liczby
C. pierwiastka kwadratowego liczby
D. wartości przybliżonej liczby
Funkcja Math.pow() w JavaScript służy do obliczania potęgi liczby, co oznacza, że można jej użyć do podnoszenia liczby do wybranej potęgi. Poprawna składnia tej funkcji to Math.pow(base, exponent), gdzie 'base' to liczba, którą chcemy podnieść do potęgi, a 'exponent' to wykładnik. Na przykład, aby obliczyć 2 do potęgi 3, używamy Math.pow(2, 3), co zwraca 8. Ta funkcja jest niezwykle przydatna w różnych kontekstach programistycznych, takich jak obliczenia matematyczne, grafika komputerowa, czy modelowanie rzeczywistych zjawisk. W praktyce, korzystając z Math.pow(), można zrealizować wiele bardziej zaawansowanych obliczeń, takich jak obliczanie wartości funkcji wygładzających, symulacji fizycznych czy operacji na danych statystycznych. Kluczowe jest, aby pamiętać, że w JavaScript dostępne są również operator potęgowania (**), wprowadzony w ECMAScript 2016, co czyni kod bardziej czytelnym, na przykład 2 ** 3 również zwraca 8. Warto być świadomym tych narzędzi, aby optymalizować i upraszczać kod w swoich projektach.

Pytanie 10

Jakie są prawidłowe kroki w kolejności, które należy podjąć, aby nawiązać współpracę między aplikacją internetową działającą na serwerze a bazą SQL?

A. nawiązanie połączenia z serwerem baz danych, wybór bazy, zapytanie do bazy - wyświetlane na stronie WWW, zamknięcie połączenia
B. wybór bazy, zapytanie do bazy, nawiązanie połączenia z serwerem baz danych, wyświetlenie na stronie WWW, zamknięcie połączenia
C. zapytanie do bazy, wybór bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
D. wybór bazy danych, nawiązanie połączenia z serwerem baz danych, zapytanie do bazy, wyświetlenie na stronie WWW, zamknięcie połączenia
Wybór odpowiedzi numer 2 jest prawidłowy, ponieważ idealnie odzwierciedla właściwą kolejność działań niezbędnych do nawiązania współpracy między aplikacją webową a bazą danych SQL. Proces zaczyna się od nawiązania połączenia z serwerem baz danych. To kluczowy krok, ponieważ bez aktywnego połączenia z serwerem nie można wykonać żadnych operacji na bazie danych. Następnie następuje wybór bazy, co umożliwia aplikacji określenie, na której bazie danych będzie pracować. Po wybraniu odpowiedniej bazy, można formułować zapytania SQL w celu pobrania lub modyfikacji danych. Ostatnim krokiem jest wyświetlenie wyników na stronie WWW, co pozwala użytkownikowi na interakcję z danymi. Po zakończeniu wszystkich operacji, należy zamknąć połączenie z serwerem bazy danych, co jest standardową praktyką, zapewniającą zwolnienie zasobów i zwiększenie bezpieczeństwa aplikacji. Stosowanie się do tej sekwencji działań jest zgodne z najlepszymi praktykami w programowaniu aplikacji webowych oraz zarządzaniu bazami danych.

Pytanie 11

Wbudowanym w pakiet XAMPP narzędziem służącym do zarządzania bazą danych jest

A. phpMyAdmin
B. pgAdmin
C. SQLite
D. MySQL Workbench
Poprawną odpowiedzią jest phpMyAdmin, bo to właśnie to narzędzie jest domyślnie zintegrowane z pakietem XAMPP jako panel do zarządzania bazą danych MySQL/MariaDB przez przeglądarkę. Po instalacji XAMPP masz zazwyczaj skrót „phpMyAdmin” w panelu kontrolnym, a samo narzędzie jest dostępne pod adresem typu http://localhost/phpmyadmin. Nie trzeba nic dodatkowo instalować ani konfigurować, poza uruchomieniem modułu Apache i MySQL/MariaDB w XAMPP. Z mojego doświadczenia to jest pierwsze miejsce, gdzie większość osób zaczyna przygodę z bazami danych w środowisku lokalnym. phpMyAdmin to aplikacja webowa napisana w PHP, która pozwala wykonywać większość typowych operacji administracyjnych na bazie: tworzenie i usuwanie baz danych, tworzenie tabel, modyfikacja struktury (typy pól, klucze główne, indeksy), wstawianie i edycja rekordów, eksport i import danych (np. pliki .sql), nadawanie uprawnień użytkownikom. Dla początkujących to ogromne ułatwienie, bo nie trzeba od razu pisać ręcznie długich zapytań SQL – wiele rzeczy da się „wyklikać”, a phpMyAdmin dodatkowo pokazuje, jakie zapytania SQL wygenerował. To jest fajny sposób, żeby stopniowo oswajać się ze składnią SQL. W dobrych praktykach pracy z XAMPP przyjmuje się, że w środowisku developerskim phpMyAdmin jest jak najbardziej ok. Można szybko tworzyć bazy testowe dla projektów PHP, WordPressa czy innych CMS-ów, robić eksport bazy z localhosta i import na serwer produkcyjny. Przy większych, profesjonalnych wdrożeniach często używa się bardziej zaawansowanych narzędzi lub linii komend, ale nawet wtedy phpMyAdmin zostaje jako wygodne narzędzie pomocnicze. Ważne jest tylko, żeby w środowisku produkcyjnym odpowiednio zabezpieczyć dostęp do phpMyAdmin (hasła, ograniczenia IP, dodatkowe uwierzytelnianie), bo domyślnie nie jest to narzędzie projektowane z myślą o wystawianiu „na świat” bez żadnych zabezpieczeń. W kontekście nauki programowania webowego i baz danych warto świadomie korzystać z phpMyAdmin: podglądać generowane zapytania SQL, ćwiczyć tworzenie relacji, kluczy obcych, backupów. To narzędzie jest na tyle popularne, że praktycznie w każdym hostingu współdzielonym znajdziesz bardzo podobny panel, więc umiejętność pracy z phpMyAdmin przydaje się później w realnych projektach komercyjnych.

Pytanie 12

W dokumencie HTML utworzono formularz wysyłający dane do skryptu formularz.php. Po naciśnięciu przycisku typu submit, przeglądarka przekierowuje nas do określonego adresu. Na podstawie podanego linku można wywnioskować, że dane do pliku formularz.php przesłano metodą

.../formularz.php?imie=Anna&nazwisko=Kowalska
A. POST
B. COOKIE
C. SESSION
D. GET
Metoda GET w HTTP jest używana do przesyłania danych w adresie URL. Dane są dołączane jako parametry zapytania po znaku zapytania w formacie klucz=wartość. Przykład w pytaniu pokazuje, że dane imie=Anna oraz nazwisko=Kowalska są przesyłane jako część adresu URL do formularz.php. Jest to typowe dla metody GET, która umożliwia łatwe przesyłanie danych przez przeglądarkę i ich późniejsze przetwarzanie po stronie serwera. Metoda GET jest często stosowana w przypadku, gdy dane nie zawierają poufnych informacji, a ich objętość jest niewielka. Standard HTTP rekomenduje używanie metody GET do pobierania danych i niepowinno być używane do przesyłania lub modyfikowania danych. Dokumentacja W3C wskazuje, że GET jest metodą idempotentną, co oznacza, że wielokrotne wykonanie tego samego zapytania nie spowoduje dodatkowych efektów ubocznych. W praktyce GET jest używana np. w zapytaniach wyszukiwania w witrynach, gdzie parametry wyszukiwania są umieszczane w URL.

Pytanie 13

Aby aplikacja PHP mogła nawiązać połączenie z bazą danych, konieczne jest najpierw użycie funkcji o nazwie

A. mysqli_select_db
B. mysqli_connect
C. mysqli_create_db
D. mysqli_close
Funkcja mysqli_connect jest kluczowym elementem w procesie komunikacji aplikacji PHP z bazą danych. Jej głównym zadaniem jest nawiązanie połączenia z serwerem MySQL, co jest niezbędne, zanim jakiekolwiek operacje na danych mogą zostać przeprowadzone. Wywołując tę funkcję, należy podać odpowiednie parametry: nazwę hosta (zazwyczaj 'localhost'), nazwę użytkownika, hasło oraz nazwę bazy danych, z którą chcemy pracować. Na przykład: $conn = mysqli_connect('localhost', 'user', 'password', 'database');. Dobrą praktyką jest również sprawdzenie, czy połączenie zostało nawiązane poprawnie, co można zrobić za pomocą odpowiednich warunków. W przypadku ewentualnych błędów podczas nawiązywania połączenia, funkcja ta zwraca wartość false, co umożliwia dalsze działania naprawcze. Dodatkowo, w kontekście bezpieczeństwa, warto stosować techniki takie jak przygotowywanie zapytań (prepared statements), aby zminimalizować ryzyko ataków typu SQL Injection. Właściwe nawiązanie połączenia z bazą danych jest fundamentem każdej aplikacji webowej opartej na PHP.

Pytanie 14

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
B. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
C. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';
Poprawne jest zapytanie: DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';. Słowo kluczowe BETWEEN w SQL oznacza przedział domknięty, czyli w tym przypadku usuwani będą pracownicy, którzy zarabiają co najmniej 500 i jednocześnie nie więcej niż 1000 zł. To dokładnie odpowiada treści zadania, bez żadnych niedomówień na granicach zakresu. Gdybyśmy użyli > i <, to wartości 500 i 1000 zostałyby wykluczone, co w tym zadaniu byłoby niezgodne z wymaganiem. Drugi warunek korzysta z operatora LIKE wraz z maską '%tx%'. Wzorzec z procentami z obu stron oznacza: znajdź wszystkie wiersze, gdzie ciąg znaków „tx” występuje gdziekolwiek w tekście kolumny miejsce_pracy – na początku, w środku albo na końcu. W MySQL znak % jest standardowym symbolem wieloznacznym (wildcard) dla dowolnego ciągu znaków, a nie gwiazdka *, dlatego zapis z % jest poprawny i zgodny z dokumentacją. Spójnik AND jest tu kluczowy, bo warunek mówi wyraźnie: usuwamy tylko tych pracowników, którzy spełniają jednocześnie oba kryteria – zarówno zakres pensji, jak i fragment tekstu w miejscu pracy. W praktyce takie zapytanie stosuje się np. przy porządkowaniu danych testowych: można szybko usunąć sztuczne rekordy z określonego przedziału płac i z wybranych lokalizacji. Moim zdaniem warto wyrabiać sobie nawyk bardzo precyzyjnego formułowania warunków logicznych (AND/OR) i zawsze sprawdzać, czy zakres jest domknięty czy otwarty. Dobrą praktyką jest też najpierw wykonać SELECT z tym samym WHERE, zobaczyć jakie rekordy zostaną naruszone, a dopiero potem odpalać DELETE – szczególnie na produkcyjnej bazie, bo tam pomyłki bywają bolesne.

Pytanie 15

Który z podanych znaczników HTML nie jest używany do formatowania tekstu?

A. <div>
B. <em>
C. <sub>
D. <strong>
<div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie.

Pytanie 16

W języku JavaScript, aby uzyskać podciąg tekstu pomiędzy wskazanymi indeksami, należy skorzystać z metody

A. replace()
B. trim()
C. slice()
D. concat()
Metoda slice() w JavaScript jest używana do wydzielania części napisu na podstawie podanych indeksów. Przyjmuje dwa argumenty: indeks początkowy oraz indeks końcowy, co pozwala na uzyskanie fragmentu tekstu w określonym zakresie. Na przykład, jeśli mamy napis 'JavaScript' i zastosujemy slice(0, 4), otrzymamy 'Java'. Metoda ta nie zmienia oryginalnego napisu, co jest zgodne z zasadą niemodyfikowalności w JavaScript. Dobrą praktyką jest również pamiętanie, że indeks końcowy jest wyłączny, co oznacza, że znak na tym indeksie nie jest wliczany do wynikowego napisu. Ponadto, slice() może przyjmować wartości ujemne, co pozwala na łatwe wydzielanie fragmentów z końca napisu, co jest szczególnie przydatne w dynamicznych aplikacjach webowych. Warto również wiedzieć, że slice() jest preferowane do używania nad innymi metodami, gdyż jest bardziej intuicyjna i wydajna w kontekście manipulacji łańcuchami znaków.

Pytanie 17

Do czego można wykorzystać program FileZilla?

A. do weryfikacji strony internetowej
B. do interpretacji kodu PHP
C. do publikowania strony internetowej
D. do testowania prędkości ładowania strony
FileZilla to dosyć popularny program, który służy do przesyłania plików za pomocą FTP. W dużym skrócie, jest to narzędzie, które umożliwia publikację stron internetowych. Dzięki niemu można łatwo wrzucać różne pliki, takie jak HTML, CSS czy JavaScript, na serwer. Jego obsługa jest naprawdę prosta – można tworzyć foldery, przenosić, kopiować czy usuwać pliki, co jest bardzo ważne, kiedy zarządza się stroną. Na przykład, jeżeli projektujesz stronę na swoim komputerze i chcesz, żeby była dostępna w Internecie, wystarczy, że skonfigurujesz połączenie FTP w FileZilla, wpiszesz dane logowania do serwera i przeciągniesz pliki do odpowiedniego folderu. Używanie FTP do publikacji to standard w branży, bo jest to bezpieczny i skuteczny sposób na zarządzanie swoimi stronami.

Pytanie 18

Podczas tworzenia tabeli w SQL określono pole, w którym wartości muszą być unikalne. Którego atrybutu należy użyć w jego definicji?

A. NOT NULL
B. UNIQUE
C. DEFAULT
D. IDENTITY
Atrybut UNIQUE w SQL służy do zapewnienia, że wartości w danym polu są unikalne w całej tabeli. Jest to kluczowy mechanizm dla zachowania integralności danych, szczególnie w przypadkach, gdy konkretne pole powinno pełnić rolę identyfikatora lub klucza obcego. Przykładem zastosowania atrybutu UNIQUE może być tabela zawierająca dane o użytkownikach, w której adres e-mail musi być wyjątkowy dla każdego użytkownika. Definiując pole e-mail jako UNIQUE, baza danych zablokuje możliwość dodania dwóch rekordów z tym samym adresem, co chroni przed duplikacją danych. Warto pamiętać, że atrybut UNIQUE może być stosowany na wielu polach jednocześnie, co pozwala na tworzenie złożonych reguł unikalności. Przykładowo, można zdefiniować UNIQUE na kombinacji imienia i nazwiska w tabeli klientów, co zapewni, że nie pojawią się dwa identyczne wpisy dla tej samej osoby. Praktyka ta jest zgodna z zasadami normalizacji danych, które dążą do minimalizacji redundancji oraz zapewnienia spójności danych w bazie.

Pytanie 19

Jakie zapytanie umożliwi Administratorowi odebranie uprawnień do przeglądania oraz edytowania danych w bazie gazeta, dla użytkownika redaktor?

A. REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
B. GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';
C. REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';
D. GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';
Odpowiedź jest poprawna, ponieważ zapytanie REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost'; skutecznie odbiera użytkownikowi redaktor prawa do przeglądania (SELECT) oraz aktualizacji (UPDATE) danych w tabeli gazeta. W kontekście zarządzania uprawnieniami w systemach baz danych, kluczowym elementem jest kontrola dostępu. Standard SQL definiuje polecenie REVOKE jako sposób na cofnięcie przyznanych wcześniej uprawnień. W praktyce, administratorzy baz danych muszą ścisle zarządzać uprawnieniami użytkowników, aby zapewnić bezpieczeństwo danych i zgodność z politykami ochrony informacji. Przykładem zastosowania mogłoby być ograniczenie dostępu do poufnych danych w przypadku, gdy użytkownik przestaje pełnić określoną rolę w organizacji. Rezygnacja z uprawnień powinna być zawsze udokumentowana i przeprowadzona zgodnie z procedurami, by zapobiec nieautoryzowanemu dostępowi do danych. Zarządzanie uprawnieniami to kluczowy aspekt administrowania bazami danych, który wpływa na bezpieczeństwo i integralność informacji.

Pytanie 20

Aby skorzystać z relacji w zapytaniu, trzeba użyć słowa kluczowego

A. IN
B. GROUP BY
C. UNION
D. JOIN
Słowo kluczowe JOIN jest niezbędne do łączenia danych z różnych tabel w bazach danych relacyjnych. Umożliwia ono wykonanie zapytań, które wykorzystują powiązania między tabelami na podstawie wspólnych kolumn. Istnieje kilka rodzajów JOIN, w tym INNER JOIN, LEFT JOIN, RIGHT JOIN oraz FULL JOIN, z których każdy ma swoje specyficzne zastosowanie. Na przykład, używając INNER JOIN, można uzyskać tylko te rekordy, które mają odpowiadające wartości w obu tabelach. To podejście jest zgodne z zasadami normalizacji baz danych, które zalecają przechowywanie danych w sposób zminimalizowany, a relacje między danymi powinny być zarządzane przy użyciu kluczy obcych. Praktyczne zastosowanie JOIN jest kluczowe w analizie danych, gdzie często niezbędne jest zestawienie informacji z różnych źródeł, co pozwala na uzyskanie pełniejszego obrazu analizowanego problemu. Wiedza o tym, jak prawidłowo stosować JOIN, jest fundamentem pracy z bazami danych, a jej znajomość jest również wymagana w standardach branżowych związanych z zarządzaniem danymi.

Pytanie 21

Która z poniższych zasad NIE WPŁYNIE pozytywnie na poprawę czytelności kodu?

A. Nazwy zmiennych powinny odzwierciedlać ich funkcję
B. Kod powinien być tworzony bez wcięć oraz zbędnych enterów
C. Warto dodawać komentarze w bardziej skomplikowanych fragmentach kodu
D. Każda linia kodu powinna zawierać tylko jedną komendę
Odpowiedź, że kod powinien być napisany bez wcięć i zbędnych enterów, jest poprawna, ponieważ w rzeczywistości brak wcięć i odpowiedniego formatowania znacząco obniża czytelność kodu. Wcięcia są kluczowe w wielu językach programowania, takich jak Python, gdzie definiują one blok kodu. Dobrze sformatowany kod, który wykorzystuje wcięcia i puste linie, ułatwia zrozumienie struktury programu i jego logiki. Przykładowo, w kodzie Pythona, brak wcięć skutkuje błędami składniowymi. Standardy kodowania, takie jak PEP 8 dla Pythona, jasno wskazują, że stosowanie wcięć jest nie tylko zalecane, ale wręcz wymagane dla utrzymania przejrzystości. Dobrze sformatowany kod zwiększa również jego utrzymywalność, co jest kluczowe w pracy zespołowej, gdzie wiele osób może pracować nad tym samym projektem. W praktyce, programiści często korzystają z narzędzi automatyzujących formatowanie kodu, co dodatkowo podnosi jego jakość i czytelność.

Pytanie 22

Wskaź komentarz, który zajmuje wiele linii, w języku PHP?

A. <!-- -->
B. / /
C. /* */
D. #
Komentarze wieloliniowe w języku PHP są definiowane za pomocą znaków '/*' na początku i '*/' na końcu bloku tekstu, co pozwala na umieszczanie komentarzy obejmujących wiele linii. Tego rodzaju komentarze są niezwykle przydatne w sytuacjach, gdy chcemy opisać bardziej złożone fragmenty kodu, jak również w celu wyłączenia większych sekcji kodu podczas debugowania. Komentarze wieloliniowe są zgodne ze standardem PHP, co czyni je preferowanym rozwiązaniem w wielu projektach programistycznych. Przykład użycia: /* To jest komentarz komentarz wieloliniowy w PHP */. W odróżnieniu od komentarzy jedno-liniowych, które są ograniczone do jednej linii (używając // lub #), komentarze wieloliniowe umożliwiają umieszczanie dłuższych opisów. Ważne jest, aby używać komentarzy z umiarem, aby kod pozostał czytelny i zrozumiały dla innych programistów oraz dla przyszłych wersji projektu.

Pytanie 23

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "różdżka" umożliwia

Ilustracja do pytania
A. odręczne zaznaczanie obszarów przez przeciąganie po nich kursora.
B. pobranie wskazanego koloru i ustawienie go jako aktywny.
C. zaznaczenie obszaru na podstawie koloru.
D. wybiórcze rozsmarowywanie koloru za pomocą pędzla.
Dobrze! Odpowiedź jest poprawna. Narzędzie 'różdżka' w edytorze grafiki rastrowej służy do zaznaczania obszarów na podstawie koloru. Jest to bardzo przydatne, gdy chcemy zaznaczyć obszar o jednolitym kolorze lub gradientem kolorów. Działa ona na zasadzie kliknięcia w dany punkt obrazu, a następnie automatycznego zaznaczenia pikseli o kolorze zbliżonym do tego, w który kliknęliśmy. Użycie tej funkcji jest zdecydowanie efektywniejsze niż ręczne zaznaczanie obszarów, szczególnie dla skomplikowanych kształtów lub dużych obszarów o podobnej barwie. Ponadto, narzędzie to jest zgodne ze standardami i dobrą praktyką w branży edycji grafiki rastrowej, a jego umiejętne wykorzystanie może znacznie przyspieszyć prace edycyjne i zapewnić lepszą precyzję.

Pytanie 24

W diagramie ER powiązanie między dwoma zbiorami encji nazywamy

A. związkiem.
B. atrybutem.
C. dziedziną.
D. krotką.
Poprawna odpowiedź to „związek”, bo w diagramie ER (Entity-Relationship) właśnie tak nazywamy powiązanie między dwoma zbiorami encji. Mamy encje, czyli zbiory obiektów z rzeczywistości, na przykład „Klient” i „Zamówienie”, a pomiędzy nimi rysujemy relację: „Klient składa Zamówienie”. Ta linia, często z nazwą i krotnością (1:1, 1:N, N:M), to właśnie związek. W notacji Chen’a czy notacji Crow’s Foot zawsze chodzi o to samo: formalne opisanie, jak dane z jednego zbioru encji są powiązane z danymi z innego zbioru. W praktyce projektowania baz danych związek w diagramie ER prawie zawsze przekłada się na relację w modelu relacyjnym: albo na klucz obcy (np. tabela zamówienia ma kolumnę klient_id), albo na dodatkową tabelę asocjacyjną przy relacjach wiele‑do‑wielu (np. tabela produkt_zamówienie). Moim zdaniem ważne jest, żeby od początku myśleć o związku nie tylko jako o kresce na diagramie, ale jako o czymś, co później będzie miało konkretne odwzorowanie w SQL, w kluczach obcych, indeksach i ograniczeniach integralności. Z punktu widzenia dobrych praktyk branżowych, poprawne modelowanie związków to podstawa: pozwala zadbać o integralność referencyjną, unikać duplikacji danych i poprawnie odzwierciedlić reguły biznesowe. Na przykład relacja 1:N między Klientem a Zamówieniem jasno mówi, że jedno zamówienie należy do dokładnie jednego klienta, ale klient może mieć wiele zamówień. Dzięki temu, gdy później piszesz kwerendy SQL, dokładnie wiesz, jak łączyć tabele za pomocą JOIN i które klucze obce są obowiązkowe. W praktyce w firmach, które poważnie podchodzą do projektowania baz, diagram ER z dobrze opisanymi związkami jest normalnym elementem dokumentacji technicznej i ułatwia współpracę między programistami, analitykami i administratorami baz danych.

Pytanie 25

W CSS właściwość font-size może przyjmować wartości według słów kluczowych

A. jedynie big i smali
B. wyłącznie smali, medium, large
C. tylko smali, smaller, large, larger
D. z zestawu xx-small, x-small, smali, medium, large, x-large, xx-large
Właściwość font-size w CSS pozwala na określenie rozmiaru czcionki za pomocą zestawu wartości słownikowych, które obejmują xx-small, x-small, small, medium, large, x-large oraz xx-large. Użycie tych słów kluczowych jest zgodne z wytycznymi CSS i zapewnia spójne i zrozumiałe podejście do projektowania. Przykładowo, definiując klasę CSS dla nagłówka, możemy zastosować: h1 { font-size: large; } co skutkuje odpowiednim zwiększeniem rozmiaru czcionki, co jest zgodne z hierarchią typograficzną dokumentu. Zastosowanie wartości słownikowych zwiększa czytelność i dostępność treści, ponieważ są one zrozumiałe zarówno dla programistów, jak i dla przeglądarek. Ponadto, korzystając z tych wartości, projektanci mogą łatwiej dostosować wygląd strony do różnych urządzeń, co jest kluczowe w kontekście responsywnego web designu. Warto również wspomnieć, że wartości te są niezależne od jednostek miary, takich jak em czy px, co sprawia, że są bardziej elastyczne w użyciu.

Pytanie 26

Jak określa się element, który został oznaczony znakiem zapytania w strukturze platformy .NET, a który pozwala na tworzenie indywidualnych aplikacji z wykorzystaniem frameworków oraz na przekształcanie kompilowanego kodu pośredniego na kod maszynowy procesora znajdującego się w komputerze?

Ilustracja do pytania
A. Wspólne środowisko programistyczne (CLP)
B. Biblioteka klas bazowych (BCL)
C. Wspólne środowisko uruchomieniowe (CLR)
D. Infrastruktura językowa (CLI)
Wspólne środowisko uruchomieniowe (CLR) jest kluczowym komponentem platformy .NET, który odpowiada za zarządzanie wykonywaniem programów napisanych w różnych językach programowania. CLR działa jako wirtualna maszyna i umożliwia uruchamianie aplikacji poprzez kompilację kodu pośredniego (CIL) do kodu maszynowego właściwego dla danego procesora. Jednym z głównych zadań CLR jest zarządzanie pamięcią, w tym automatyczne zarządzanie zasobami oraz usuwanie nieużywanych obiektów za pomocą mechanizmu garbage collection. Ponadto CLR zapewnia bezpieczeństwo typów i izolację, co pozwala na lepszą kontrolę nad integralnością aplikacji. Dzięki takiemu podejściu, deweloperzy mogą skupić się na logice aplikacyjnej, nie martwiąc się o niskopoziomowe szczegóły związane z zarządzaniem pamięcią. CLR wspiera także interoperacyjność między różnymi językami, co oznacza, że komponenty napisane w jednym języku mogą być używane w aplikacjach napisanych w innym języku, co zwiększa elastyczność i możliwości wielokrotnego użycia kodu. Dzięki CLR deweloperzy mogą tworzyć stabilne i wydajne aplikacje w sposób efektywny i zgodny z nowoczesnymi standardami programistycznymi.

Pytanie 27

Która funkcja PHP obsługi bazy danych służy do kodowania polskich znaków?

A. mysqli_fetch_assoc()
B. mysqli_set_charset()
C. mysqli_query()
D. mysqli_connect()
Prawidłowa odpowiedź to mysqli_set_charset(), bo właśnie ta funkcja ustawia zestaw znaków (charset) dla połączenia z bazą danych w rozszerzeniu mysqli. W praktyce oznacza to, że dzięki niej PHP i serwer bazy danych (np. MySQL) „dogadują się”, w jakim kodowaniu mają być przesyłane i zapisywane teksty – w tym polskie znaki typu ą, ę, ł, ś itd. Bez poprawnie ustawionego charsetu bardzo łatwo o krzaczki, znaki zapytania zamiast liter albo problemy z sortowaniem tekstu. Moim zdaniem dobrą praktyką jest zawsze po nawiązaniu połączenia mysqli_connect natychmiast wywołać mysqli_set_charset($conn, 'utf8mb4'). Ten konkretny charset (utf8mb4) jest obecnie standardem de facto: obsługuje pełne Unicode, w tym emotikony, różne alfabety, a przy okazji bez problemu radzi sobie z polskimi znakami. Przykładowy, poprawny fragment kodu może wyglądać tak: $conn = mysqli_connect('localhost', 'user', 'haslo', 'baza'); mysqli_set_charset($conn, 'utf8mb4'); Dzięki temu każda instrukcja mysqli_query, każde pobieranie danych mysqli_fetch_assoc będzie już działać w odpowiednim kodowaniu. Warto pamiętać, że ustawienie charsetu powinno być spójne na wszystkich poziomach: konfiguracja bazy (collation i charset tabel), ustawienia połączenia (właśnie mysqli_set_charset) oraz nagłówki HTTP/HTML (meta charset="utf-8"). Dopiero takie podejście zgodne z dobrymi praktykami branżowymi zmniejsza ryzyko błędów związanych z kodowaniem tekstu, zwłaszcza w większych aplikacjach webowych. Jeśli robi się projekty komercyjne, to ignorowanie tej funkcji bardzo szybko mści się przy migracjach danych czy integracjach z innymi systemami.

Pytanie 28

Po wykonaniu poniższego kodu PHP, w zmiennej $napis znajduje się tekst:

$napis = "Programowanie w PHP";
$napis = substr($napis, 3, 5);
A. gramo
B. og
C. ogram
D. gr
Wybór odpowiedzi 'gr' lub 'og' oraz 'ogram' jest wynikiem nieporozumienia dotyczącego działania funkcji substr() w PHP. Funkcja ta nie zwraca pierwszych kilku znaków z łańcucha, lecz podciąg zaczynający się od określonego indeksu. W przypadku odpowiedzi 'gr', wydaje się, że koncentrujesz się na pierwszych dwóch znakach od momentu, gdy substr() zaczyna od indeksu 3, co jest błędne. Indeks 3 w łańcuchu 'Programowanie w PHP' wskazuje na literę 'g', a nie zawiera żadnych liter przed nią. Z kolei odpowiedź 'og' pomija literę 'r', co również jest błędne. Natomiast wybór 'ogram' może wynikać z mylnego przekonania, że substr() zwraca więcej znaków, niż rzeczywiście to robi. Funkcja substr() działa na zasadzie podawania precyzyjnych wartości, które określają, od którego znaku zacząć i ile znaków wyodrębnić. Dlatego kluczowe jest zrozumienie indeksowania w PHP oraz tego, jak funkcja substr() interpretuje te wartości. Zrozumienie tych zasad jest istotne, zwłaszcza przy pracy z danymi tekstowymi, gdzie precyzyjne operacje są niezbędne do poprawnego przetwarzania i manipulacji łańcuchami znaków. Warto także zwrócić uwagę na dokumentację PHP, aby lepiej poznać inne parametry i możliwości funkcji substr() oraz jej zastosowania w kontekście programowania webowego. Zastosowanie takich funkcji w praktyce pozwala na bardziej efektywne zarządzanie danymi, co jest kluczowe w projektach programistycznych.

Pytanie 29

Jakiej opcji w edytorze grafiki rastrowej należy użyć, aby przygotować obraz do wyświetlenia na stronie w taki sposób, aby widoczna była tylko część znajdująca się w obrębie ramki?

Ilustracja do pytania
A. Kadrowanie
B. Odbicie
C. Perspektywa
D. Skalowanie
Kadrowanie to proces polegający na usuwaniu niechcianych części obrazu w celu skupienia uwagi na jego istotnych elementach. W kontekście przygotowywania rysunku do wyświetlenia na stronie internetowej, kadrowanie pozwala na wyeksponowanie tylko tych fragmentów grafiki, które mają być widoczne dla odbiorcy, jednocześnie usuwając zbędne tło czy elementy. Jest to technika szeroko stosowana w branży graficznej i fotograficznej, gdzie precyzyjne dostosowanie kompozycji wizualnej ma kluczowe znaczenie dla estetyki oraz komunikacji wizualnej. Kadrowanie wspiera także optymalizację plików graficznych, redukując ich rozmiar i poprawiając czas ładowania strony. W edytorach grafiki rastrowej, takich jak Adobe Photoshop czy GIMP, kadrowanie jest intuicyjnym narzędziem, które pozwala na szybkie i efektywne dostosowanie kadru do wymogów projektu. Dobre praktyki branżowe zalecają regularne kadrowanie w celu zwiększenia czytelności i nadania profesjonalnego wyglądu materiałom wizualnym. Poprawnie wykadrowany obraz nie tylko poprawia estetykę, ale również może wpłynąć na przekaz oraz zaangażowanie użytkowników. Wybór właściwych proporcji i skali podczas kadrowania jest istotny dla uzyskania spójnego i harmonijnego efektu końcowego, który będzie zgodny z założeniami projektu oraz oczekiwaniami odbiorcy.

Pytanie 30

Jakie polecenie umożliwia pokazanie konfiguracji serwera PHP, w tym między innymi informacji o: wersji PHP, systemie operacyjnym serwera oraz wartościach przedefiniowanych zmiennych?

A. phpinfo();
B. phpcredits();
C. print_r(ini_get_all());
D. echo phpversion();
Funkcja phpinfo() jest najczęściej używanym narzędziem w ekosystemie PHP do wyświetlania szczegółowych informacji dotyczących konfiguracji serwera PHP. Umożliwia uzyskanie dostępu do kluczowych danych, takich jak wersja PHP, informacje o systemie operacyjnym, wartości przedefiniowanych zmiennych, a także wiele innych ustawień konfiguracyjnych. Dzięki temu narzędziu deweloperzy mogą szybko zdiagnozować problemy związane z konfiguracją, a także zrozumieć, jakie moduły PHP są zainstalowane i aktywne. Przykładowo, uruchamiając skrypt z tą funkcją na stronie internetowej, automatycznie generowany jest szczegółowy raport w formie HTML, co ułatwia odczyt i zrozumienie. Standardy branżowe wskazują, że korzystanie z phpinfo() powinno być ograniczone do środowisk rozwijających, ponieważ ujawnia to wiele informacji o serwerze, co w kontekście bezpieczeństwa może stanowić ryzyko. W praktyce, dobrze jest również stosować funkcję w lokalnych środowiskach deweloperskich, by monitorować i weryfikować zmiany w konfiguracji serwera podczas pracy nad projektem.

Pytanie 31

Jakie uprawnienia są konieczne do wykonania oraz przywrócenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Użytkownik lokalny
B. Administrator systemu
C. Security users
D. Users
Aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express, wymagane jest posiadanie uprawnień administratora systemu. Administratorzy mają pełny dostęp do wszystkich funkcji i zasobów systemu, co jest kluczowe podczas zarządzania kopiami zapasowymi, które są niezbędne dla bezpieczeństwa i integralności danych. W kontekście SQL Server, administratorzy mogą korzystać z różnych narzędzi, takich jak SQL Server Management Studio (SSMS), aby tworzyć kopie zapasowe baz danych oraz przywracać je w razie potrzeby. Dobrą praktyką jest regularne tworzenie kopii zapasowych, co pozwala na minimalizację ryzyka utraty danych wskutek awarii systemu, błędów ludzkich czy ataków złośliwego oprogramowania. Ponadto, znajomość polityk przechowywania kopii zapasowych, takich jak ich rotacja i przechowywanie w bezpiecznych lokalizacjach, stanowi integralną część zarządzania danymi w organizacji. Warto również pamiętać o testowaniu procesów przywracania danych, aby upewnić się, że w sytuacji kryzysowej dostęp do informacji będzie możliwy w sposób szybki i efektywny.

Pytanie 32

W języku PHP zmienna o nazwie $_SESSION przechowuje

A. zmienne przesyłane do skryptu poprzez formularze
B. zmienne zarejestrowane w aktualnej sesji
C. listę aktywnych sesji na serwerze WWW
D. zmienne przesyłane do skryptu za pośrednictwem ciasteczek (cookie)
Zmienna predefiniowana $_SESSION w PHP jest kluczowym elementem zarządzania sesjami, który umożliwia przechowywanie danych użytkownika w trakcie jego wizyty na stronie internetowej. Sesja jest identyfikowana przez unikalny identyfikator, który jest zazwyczaj przechowywany w ciasteczku na komputerze użytkownika, co pozwala na zachowanie stanu między różnymi żądaniami HTTP. Przechowywane w $_SESSION zmienne są dostępne na wszystkich stronach związanych z daną sesją, co sprawia, że jest to niezwykle przydatne w przypadku aplikacji wymagających autoryzacji lub personalizacji treści. Przykładem może być strona logowania, gdzie po wprowadzeniu poprawnych danych użytkownika, zmienne takie jak 'username' czy 'user_id' mogą zostać zapisane w $_SESSION, co umożliwia późniejsze wykorzystanie tych danych do wyświetlania spersonalizowanych informacji. PHP automatycznie rozpoczyna sesję po wywołaniu funkcji session_start(), co oznacza, że wszystkie zmienne zarejestrowane w $_SESSION będą dostępne do odczytu i zapisu podczas całej aktywności użytkownika na stronie. Warto również zaznaczyć, że dane w $_SESSION są przechowywane po stronie serwera, co czyni je bardziej bezpiecznymi w porównaniu do danych przechowywanych w ciasteczkach.

Pytanie 33

Mamy tablicę o n elementach o nazwie t[n]. Zadaniem algorytmu, zapisanego w krokach, jest wyliczenie sumy

K1: i = 0; wynik = 0;
K2: Dopóki i < n wykonuj K3 .. K4
  K3: wynik ← wynik + t[i]
  K4: i ← i + 2
K5: wypisz wynik
A. co drugiego elementu tablicy
B. sumy tych elementów tablicy, które mają wartości nieparzyste
C. n-elementów tej tablicy
D. wszystkich elementów tablicy
Algorytm przedstawiony w pytaniu wykonuje sumowanie co drugiego elementu tablicy. Rozpoczyna od elementu o indeksie 0, czyli pierwszego elementu tablicy, a następnie przeskakuje o dwa indeksy za pomocą instrukcji i ← i + 2. Dzięki temu algorytm dodaje do zmiennej wynik wyłącznie wartości znajdujące się na pozycjach o parzystych indeksach w tablicy. Praktyczne zastosowanie tego rodzaju algorytmu można znaleźć w sytuacjach, gdy potrzebujemy operować tylko na wybranym podzbiorze danych, na przykład w analizie co drugiego punktu danych w dużych zbiorach, co może przyspieszyć proces analizy i zmniejszyć obciążenie obliczeniowe. Takie podejście jest zgodne z dobrymi praktykami w dziedzinie inżynierii oprogramowania, gdzie staramy się optymalizować algorytmy pod kątem wydajności i złożoności obliczeniowej. Warto zauważyć, że operowanie na co drugim elemencie może być także użyteczne w przypadku wzorców projektowych, takich jak iteratory, które pozwalają na elastyczną kontrolę nad sposobem przeglądania danych w strukturach danych.

Pytanie 34

Który z poniższych typów plików jest plikiem rastrowym?

A. SVG
B. TIFF
C. CDR
D. SWF
Format TIFF (Tagged Image File Format) to jeden z najpopularniejszych formatów rastrowych, który jest szeroko stosowany w cyfrowej obróbce obrazów oraz w aplikacjach graficznych. Pliki TIFF mogą przechowywać obrazy w różnych głębokościach kolorów i są często wykorzystywane w profesjonalnym druku ze względu na swoją zdolność do zachowania wysokiej jakości obrazu bez strat. Format ten obsługuje różne warianty kompresji, w tym bezstratną kompresję LZW, co czyni go idealnym do archiwizacji i przechowywania obrazów wymagających dużej szczegółowości. Przykładami zastosowania TIFF są skanowanie zdjęć, archiwizacja dokumentów oraz profesjonalna fotografia. Standard TIFF jest powszechnie uznawany jako branżowy standard, co gwarantuje, że obrazy zapisane w tym formacie będą mogły być otwierane i edytowane w większości aplikacji graficznych. Ponadto, wiele urządzeń skanujących i drukarek wspiera ten format, co czyni go wszechstronnym narzędziem w pracy kreatywnej.

Pytanie 35

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

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

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

A. <php ........... />
B. <php> ........... </php>
C. <?php>........... <php?>
D. <?php ........... ?>
Odpowiedź <?php ........... ?> jest poprawna, ponieważ to właśnie te znaczniki służą do wstawiania kodu PHP w plikach o rozszerzeniu .php. Znak zapytania przed 'php' informuje serwer, że dalsza część kodu jest napisana w tym języku, a zamknięcie znacznika za pomocą '?>' sygnalizuje koniec tej sekcji. To podejście jest zgodne z zaleceniami PHP, które podkreślają znaczenie wyraźnego oddzielenia kodu HTML od PHP. Przykładowo, możemy wstawić kod PHP wewnątrz pliku HTML, co pozwala na dynamiczne generowanie treści: <html><body><?php echo 'Witaj, świecie!'; ?></body></html>. Ponadto, używanie tych znaczników pozwala na łatwą integrację z innymi językami skryptowymi oraz szersze możliwości w zakresie zarządzania danymi, takich jak interakcje z bazami danych. Warto również pamiętać o dobrych praktykach, takich jak stosowanie pętli i warunków w PHP, aby tworzyć bardziej zaawansowane aplikacje webowe. Takie umiejętności są niezbędne w programowaniu backendowym, co czyni tę wiedzę kluczową dla każdego dewelopera.

Pytanie 37

Aby uzyskać dane z tabeli pracownicy dotyczące jedynie osób, które ukończyły 26 lat, należy zastosować zapytanie

A. SELECT * FROM pracownicy WHERE wiek > 25
B. SELECT * FROM pracownicy AND wiek > 25
C. SELECT * FROM pracownicy OR wiek > 25
D. SELECT * FROM wiek WHERE pracownicy > 25
Aby wyświetlić rekordy z tabeli pracownicy, które dotyczą pracowników powyżej 26 roku życia, należy zastosować odpowiednie zapytanie SQL. Poprawne zapytanie to 'SELECT * FROM pracownicy WHERE wiek > 25;'. W tym przypadku, klauzula WHERE filtruje wyniki, zapewniając, że tylko ci pracownicy, którzy mają więcej niż 25 lat, zostaną zwróceni. Warto zauważyć, że w SQL operator '>' oznacza, że zwracane będą tylko rekordy, dla których warunek jest spełniony. Ponadto, wybranie wszystkich kolumn poprzez SELECT * jest powszechną praktyką, gdyż pozwala na uzyskanie pełnych informacji o pracownikach, bez konieczności wskazywania poszczególnych kolumn. Jest to zgodne z zasadami użycia SQL, gdzie operacje na danych są wykonywane poprzez polecenia definiujące wybrane tabele i warunki. Przykład zastosowania tego zapytania może być użyty w aplikacjach biznesowych, gdzie analiza wieku pracowników jest niezbędna do podejmowania decyzji kadrowych, a także w raportach dotyczących zatrudnienia. Takie zapytanie jest fundamentalne dla zarządzania danymi w relacyjnych bazach danych.

Pytanie 38

W systemie baz danych MySQL komenda CREATE USER pozwala na

A. zmianę hasła dla już istniejącego użytkownika
B. zobaczenie danych o aktualnym użytkowniku
C. stworzenie użytkownika oraz przypisanie mu uprawnień do bazy
D. stworzenie nowego użytkownika
Polecenie CREATE USER w bazie danych MySQL jest kluczowym narzędziem do zarządzania użytkownikami w systemie zarządzania bazami danych. Jego podstawowym celem jest utworzenie nowego konta użytkownika, które pozwala na autoryzowany dostęp do różnych zasobów bazy danych. Użycie tego polecenia wiąże się z określeniem nazwy użytkownika oraz hasła, a także opcjonalnymi parametrami, takimi jak host, który określa, z jakiego adresu IP użytkownik może uzyskać dostęp do serwera. Przykładowe polecenie CREATE USER wygląda następująco: CREATE USER 'nazwa_użytkownika'@'host' IDENTIFIED BY 'hasło'; Po utworzeniu użytkownika można przypisać mu odpowiednie uprawnienia za pomocą polecenia GRANT, co pozwala na kontrolowanie, jakie operacje użytkownik może wykonywać na bazie danych. Dobrą praktyką jest regularne przeglądanie i aktualizacja uprawnień użytkowników, aby zapewnić bezpieczeństwo danych. Zgodnie z najlepszymi standardami bezpieczeństwa należy unikać nadawania zbyt szerokich uprawnień, co jest zgodne z zasadą najmniejszych uprawnień (principle of least privilege).

Pytanie 39

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

for($i = 0; $i < 25; $i += 5) { ...... }
A. 26
B. 25
C. 5
D. 0
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 40

Na tabeli dania, której wiersze zostały pokazane poniżej, wykonano przedstawioną kwerendę:

SELECT * FROM dania WHERE typ < 3 AND cena < 30 LIMIT 5;
Ile wierszy wybierze ta kwerenda?
idtypnazwacena
11Gazpacho20
21Krem z warzyw25
31Gulaszowa ostra30
42Kaczka i owoc30
52Kurczak pieczony40
63wierzbowy przysmak35
72Mintał w panierce30
82Alle kotlet30
93Owoce morza20
103Grzybki, warzywka, sos15
113Orzechy i chipsy10
123Tatar i jajo15
133Bukiet warzyw10
A. 2
B. 13
C. 8
D. 5
Twoja odpowiedź jest jak najbardziej trafna. To zapytanie SQL, które mamy, wybiera z tabeli 'dania' te wiersze, gdzie 'typ' jest mniejszy niż 3, a 'cena' nie przekracza 30. Wiem, że dodanie 'LIMIT 5' może wydawać się istotne, ale w tym przypadku tak naprawdę nie wpływa to na wynik, bo tylko jeden wiersz pasuje – danie 'Gazpacho'. Warto pamiętać, że w SQL, gdy używamy warunku 'WHERE', łączymy je z operatorem AND, co oznacza, że muszą być spełnione jednocześnie. Klauzula 'LIMIT' jest przydatna w różnych sytuacjach, ale tutaj, nawet z ograniczeniem do 5, i tak mamy tylko jeden wynik.