Wyniki egzaminu

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

Egzamin zdany!

Wynik: 31/40 punktów (77,5%)

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Poniżej przedstawiono sposób obsługi:

<?php
if (!isset($_COOKIE[$nazwa]))
    echo "nie ustawiono!";
else
    echo "ustawiono, wartość: " . $_COOKIE[$nazwa];
?>
A. zmiennych tekstowych
B. baz danych
C. ciasteczek
D. sesji
Kod PHP przedstawiony w pytaniu ilustruje użycie mechanizmu ciasteczek w przeglądarce. Ciasteczka to małe pliki tekstowe, które serwer umieszcza na komputerze użytkownika, aby przechowywać informacje między sesjami HTTP. W tym przypadku kod sprawdza, czy zmienna o nazwie $nazwa jest ustawiona w tablicy superglobalnej $_COOKIE. Jeśli ciasteczko o danej nazwie nie zostało ustawione, skrypt zwraca komunikat 'nie ustawiono!'. Gdy ciasteczko istnieje, wyświetlana jest jego wartość. Ciasteczka są powszechnie stosowane do śledzenia sesji użytkowników, przechowywania preferencji czy zachowania stanu zalogowania. Ważnym aspektem jest zrozumienie, że ciasteczka działają po stronie klienta i mogą być modyfikowane przez użytkownika, dlatego powinny być używane z ostrożnością i w połączeniu z innymi mechanizmami zabezpieczeń. Warto pamiętać, że ciasteczka mają ograniczenia co do wielkości i liczby, które mogą być przechowywane przez przeglądarkę. Implementacja ciasteczek powinna być zgodna z regulacjami dotyczącymi prywatności, takimi jak RODO, które nakładają obowiązek informowania użytkowników o ich używaniu oraz uzyskiwania zgody.

Pytanie 2

Fragment formularza zaprezentowany powyżej został przetworzony w skrypcie PHP. Wskaż poprawny sposób pobierania wartości z pola edycyjnego.

Ilustracja do pytania
A. name = GET['imie']
B. name = $_GET[imie]
C. $name = $POST['Imię']
D. $name = $_POST['imie']
Prawidłowe pobranie wartości z formularza przesłanego metodą POST w języku PHP wymaga użycia globalnej tablicy asocjacyjnej $_POST. W kontekście tego pytania, zmienna $name zostaje przypisana wartości wprowadzonej do pola edycyjnego o nazwie imie. Kluczowym aspektem jest zrozumienie różnic między metodami GET i POST w HTTP. Metoda POST jest często preferowana do przesyłania danych formularzy, ponieważ umożliwia przesyłanie większych ilości danych i oferuje większe bezpieczeństwo, ponieważ dane nie są widoczne w adresie URL. Użycie $_POST['imie'] jest zgodne z dobrymi praktykami, a także zgodne z zasadami bezpieczeństwa takimi jak sanitizacja danych wejściowych i walidacja. Przykładowo można użyć filtrów: $name = filter_input(INPUT_POST 'imie' FILTER_SANITIZE_STRING); co zapobiega wstrzyknięciom kodu. Takie podejście jest zgodne z najlepszymi praktykami programowania w PHP i zapewnia bezpieczeństwo oraz niezawodność aplikacji. Zrozumienie tych mechanizmów jest kluczowe w tworzeniu bezpiecznych i efektywnych aplikacji webowych.

Pytanie 3

Co realizuje polecenie zaczynające się od ALTER TABLE USA ...?

A. usunięcie tabeli USA
B. modyfikację (zmianę struktury) tabeli USA
C. nadpisanie starej tabeli USA
D. utworzenie nowej tabeli USA
Polecenie zaczynające się od ALTER TABLE USA ... modyfikuje STRUKTURĘ istniejącej tabeli USA - w zależności od dalszej części doda, usunie lub zmieni kolumnę albo ograniczenie. ALTER znaczy „zmień”, a TABLE USA wskazuje, której tabeli dotyczy. Dlatego polecenie realizuje modyfikację struktury tabeli USA.

Pytanie 4

Które reguły CSS poprawnie ustawiają dla akapitu czcionkę Arial, rozmiar 16 pt i pochylenie (kursywę)?

A.
p { font-style: Arial; size: 16px; font-weight: normal; }
B.
p { font-family: Arial; font-size: 16pt; font-style: italic; }
C.
p { font-style: Arial; font-size: 16pt; font-variant: normal; }
D.
p { font-family: Arial; font-size: 16px; font-variant: normal; }
Wygląd czcionki opisują w CSS trzy osobne właściwości: font-family ustala krój (np. Arial), font-size - rozmiar (tu 16pt, bo zadano punkty, a nie piksele), a font-style: italic włącza pochylenie. Razem daje to p { font-family: Arial; font-size: 16pt; font-style: italic; }. Warto pamiętać, że font-style odpowiada za kursywę, a font-weight za grubość - to częste źródło pomyłek. Dlatego poprawny jest ten zestaw reguł.

Pytanie 5

Zmienna należąca do typu integer lub int jest w stanie przechować

A. znak
B. ciąg znaków
C. liczbę całkowitą
D. liczbę rzeczywistą
Typ zmiennych integer, czyli int, jest super ważny w programowaniu, bo służy do przechowywania liczb całkowitych. To takie liczby, co nie mają części dziesiętnych. Jest sporo języków programowania, które go używają, na przykład C++, Java czy Python. Głównie dzięki nim możemy efektywnie przechowywać i operować na tych liczbach. Wartości tego typu mogą być różne w zależności od systemu, na przykład w 32-bitowym typ int przechowuje liczby od -2 147 483 648 do 2 147 483 647. Używamy liczb całkowitych w różnych algorytmach, zwłaszcza tam, gdzie liczy się precyzja, jak w zliczaniu elementów albo w operacjach matematycznych. W standardzie C99 mamy różne typy całkowite, co pomaga w dokładnym określeniu, co potrzebujemy. Moim zdaniem, ogarnięcie typu integer to podstawa dla każdego, kto chce coś programować, bo na tym buduje się operacje matematyczne i logiczne.

Pytanie 6

Którego atrybutu użyć, aby kolumna nie przyjmowała wartości PUSTEJ?

A.
NULL
B.
UNIQUE
C.
DEFAULT
D.
NOT NULL
Atrybut NOT NULL w definicji kolumny wymusza, by KAŻDY wiersz miał w niej wartość - próba wstawienia rekordu bez tego pola skończy się błędem. Stosuje się go dla danych obowiązkowych, np. imie VARCHAR(50) NOT NULL, oraz zawsze dla klucza głównego (musi istnieć, by identyfikować rekord). Zapamiętaj: NOT NULL = „to pole nie może być puste”.

Pytanie 7

Tabela wycieczki ma pola nazwa, cena, miejsca. Która kwerenda zwróci nazwy wycieczek tańszych niż 2000 i z CO NAJMNIEJ 4 wolnymi miejscami?

A.
SELECT nazwa FROM wycieczki WHERE cena < 2000 AND miejsca > 3;
B.
SELECT nazwa FROM wycieczki WHERE cena < 2000 OR miejsca > 4;
C.
SELECT * FROM wycieczki WHERE cena < 2000 AND miejsca > 4;
D.
SELECT * FROM wycieczki WHERE cena < 2000 OR miejsca > 3;
Pozostałe zapytania zawodzą. OR wystarczyłoby spełnić jeden warunek, więc zwróciłby też wycieczki drogie lub bez miejsc. miejsca > 4 pomija wycieczki z DOKŁADNIE 4 miejscami, choć te spełniają „co najmniej 4”. SELECT * zwraca wszystkie kolumny zamiast samych nazw. Poprawne jest cena < 2000 AND miejsca > 3.

Pytanie 8

Utworzono bazę danych z tabelą mieszkancy, która zawiera pola: nazwisko, imie, miasto. Następnie zrealizowano poniższe zapytanie do bazy:

SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Kraków';
Wskaź, które zapytanie zwróci te same dane.
A. ```SELECT nazwisko, imie FROM mieszkancy AS 'Poznań' OR 'Kraków';```
B. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto HAVING 'Poznań' OR 'Kraków';```
C. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków';```
D. ```SELECT nazwisko, imie FROM mieszkancy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';```
Zapytanie SELECT nazwisko, imie FROM mieszkancy WHERE miasto='Poznań' OR miasto='Kraków'; jest poprawne, ponieważ umożliwia uzyskanie danych mieszkańców, którzy znajdują się w jednym z dwóch zadanych miast. Użycie operatora 'OR' pozwala na połączenie dwóch warunków, co sprawia, że zapytanie zwróci mieszkańców zarówno z Poznania, jak i z Krakowa. Takie podejście jest zgodne z zasadami SQL i umożliwia elastyczne filtrowanie danych. Alternatywnie, zastosowanie operatora UNION ALL w pierwszym zapytaniu łączy wyniki z dwóch oddzielnych zapytań, co jest również poprawne, ale może być mniej wydajne w przypadku dużych zbiorów danych. Używając UNION ALL, zwracane są wszystkie wiersze, w tym duplikaty, natomiast w przypadku zapytania z OR, uzyskujemy wiersze spełniające przynajmniej jeden z warunków. Dobrą praktyką jest testowanie zapytań w rzeczywistej bazie danych, aby ocenić ich wydajność i poprawność. W kontekście standardów SQL, takie zapytania są zgodne z definicjami języka zapytań i są stosowane do przetwarzania danych w relacyjnych bazach danych.

Pytanie 9

Dla dowolnego a z zakresu (0,99) celem funkcji napisanej w języku JavaScript jest
function fun(a)
 {
    for(n=a; n <=100; n++)
    document.write(n);
    return(n);
 }

A. zwrócenie liczb z zakresu a .. 99
B. wypisanie liczb z zakresu a .. 99 oraz zwrócenie wartości 100
C. wypisanie wartości zmiennej a i zwrócenie wartości zmiennej n
D. wypisanie liczb z zakresu a .. 100 oraz zwrócenie wartości zmiennej n
Funkcja napisana w JavaScript przewiduje iterację w celu wypisania liczb z przedziału ustalonego przez zmienną 'a' do 100. W kodzie zastosowano pętlę for, która zaczyna się od wartości a, a kończy na 100. Wartość zmiennej 'n' jest używana jako iterator, zaczynając od 'a' i zwiększając się o 1 w każdym obiegu pętli, aż osiągnie 100. Warto zauważyć, że funkcja wykorzystuje metodę 'document.write()', która służy do zapisywania danych na stronie internetowej. Po zakończeniu iteracji funkcja zwraca wartość zmiennej 'n', co w kontekście tego zadania oznacza, że zwróci ona wartość 101, ponieważ po ostatniej iteracji n przekroczy wartość 100. Przykład użycia tej funkcji w praktyce może obejmować generowanie dynamicznych treści na stronach internetowych, które wymagają wyświetlenia zakresu wartości liczbowych. Warto również dodać, że zgodnie z aktualnymi standardami JavaScript, kod mógłby być bardziej elegancko zapisany, wykorzystując np. funkcję 'console.log()' zamiast 'document.write()', co jest bardziej zalecane w nowoczesnym podejściu do programowania w JavaScript.

Pytanie 10

Które stwierdzenie jest poprawne w odniesieniu do grafiki rastrowej?

A. podczas skalowania obraz nie traci na jakości
B. obraz opisany jest figurami geometrycznymi w układzie współrzędnych
C. nie jest zapisywana w formacie WMF
D. to obraz przedstawiony jako siatka odpowiednio kolorowanych pikseli
Grafika rastrowa to obraz zapisany jako SIATKA pikseli, z których każdy ma swój kolor (tak działają zdjęcia, formaty PNG, JPG, BMP). Dlatego poprawne jest stwierdzenie, że to obraz w postaci siatki kolorowanych pikseli.

Pytanie 11

Który z wymienionych to rozproszony system kontroli wersji projektu programistycznego?

A. Git
B. Eclipse
C. FileZilla
D. Total Commander
Git to ROZPROSZONY system kontroli wersji - każdy programista ma pełną kopię historii repozytorium i może pracować lokalnie, a zmiany synchronizuje z innymi. Dlatego systemem kontroli wersji jest Git.

Pytanie 12

Jak nazywa się metoda udostępniania bazy danych w programie Microsoft Access, która dotyczy wszystkich obiektów bazy umieszczonych na dysku sieciowym i wykorzystywanych jednocześnie przez kilku użytkowników?

A. folderu sieciowego
B. serwera bazy danych
C. dzielonej bazy danych
D. witryny programu SharePoint
Odpowiedzi, które wskazują na "serwera bazy danych", "dzielonej bazy danych" lub "witryny programu SharePoint", nie są adekwatne w kontekście udostępniania bazy danych w Microsoft Access. Serwer bazy danych to złożony system, który zarządza dużymi zbiorami danych oraz zapewnia ich integralność i bezpieczeństwo, jednak w przypadku Microsoft Access, który jest narzędziem bazodanowym bardziej skomplikowanym niż prostsze rozwiązania, udostępnianie odbywa się głównie za pośrednictwem folderów sieciowych. Dzielona baza danych oznacza, że baza danych jest podzielona na dwie części: jedną na serwerze (backend) i drugą lokalnie na komputerach użytkowników (frontend). Pomimo że ta konstrukcja może być stosowana do zwiększenia wydajności, nie odnosi się bezpośrednio do koncepcji folderu sieciowego jako metody udostępniania. Witryna programu SharePoint jest platformą do współpracy, która pozwala na zarządzanie dokumentami i danymi w chmurze, ale nie jest bezpośrednio związana z mechanizmem udostępniania bazy danych w Microsoft Access. Zrozumienie różnic między tymi podejściami jest kluczowe, ponieważ często prowadzi to do mylnych wniosków dotyczących rozwiązań technologicznych oraz ich zastosowania w praktyce. W kontekście Access, praktyka umieszczania bazy danych w folderze sieciowym jest standardem branżowym, który zwiększa dostępność i ułatwia współpracę w zespole.

Pytanie 13

Określ rodzaj relacji między tabelami: Tabela1 oraz Tabela3?

Ilustracja do pytania
A. Jeden do jednego
B. Wiele do jednego
C. Jeden do wielu
D. Wiele do wielu
Rozważając różne typy relacji pomiędzy tabelami w relacyjnych bazach danych, istotne jest zrozumienie konceptu kluczy i połączeń. Relacja jeden do jednego implikuje, że każdemu rekordowi w jednej tabeli odpowiada dokładnie jeden rekord w drugiej. Stosuje się ją tam, gdzie dane można logicznie podzielić na dwie części, jak np. dane osobowe i szczegółowe informacje kontaktowe danej osoby. Relacja jeden do wielu oznacza, że jeden rekord z pierwszej tabeli łączy się z wieloma rekordami w drugiej. Przykładowo, jeden autor może napisać wiele książek. Taka struktura jest typowa przy modelowaniu hierarchii danych i przy relacjach typu rodzic-dziecko. W przypadku relacji wiele do wielu, potrzebna jest trzecia tabela, która pośredniczy między dwoma głównymi tabelami, przechowując ich klucze obce. Umożliwia to powiązanie wielu rekordów z obu stron. Typowe błędy polegają na niepoprawnym wyborze typu relacji, co prowadzi do redundancji danych i problemów z integralnością. Zrozumienie i prawidłowe zastosowanie tych koncepcji jest kluczowe dla projektowania efektywnych i skalowalnych baz danych, wspierając jednocześnie złożone operacje i analizy. Wybór niewłaściwego typu relacji może prowadzić do trudności w zarządzaniu danymi i skomplikowanych zapytań, co jest znanym wyzwaniem w zarządzaniu bazami danych.

Pytanie 14

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@localhost;
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Adam i Anna
B. Jedynie Tomasz
C. Anna i Tomasz
D. Tomasz i Adam
Analizując inne odpowiedzi, można zauważyć, że niektóre z nich nie spełniają podstawowych wymogów związanych z przydzielaniem uprawnień w bazach danych. Na przykład, stwierdzenie, że tylko Anna ma prawo do przeglądania i modyfikowania danych, jest błędne, ponieważ w przydzielonych jej uprawnieniach nie ma komendy SELECT, która jest niezbędna do przeglądania danych. Uprawnienia ALTER, CREATE i DROP, które otrzymała, dotyczą jedynie zmiany struktury bazy, a nie samego przeglądania danych, co jest kluczowe dla jej roli w systemie. Warto także zwrócić uwagę na odpowiedź mówiącą o Tomaszu i Annie. Tomasz rzeczywiście ma przydzielone uprawnienia do przeglądania i modyfikacji danych, jednak Anna nie ma uprawnienia SELECT, więc nie może przeglądać danych. Analogicznie, odpowiedź wskazująca na Tomasza i Adama również pomija fakt, że Anna nie ma dostępu do przeglądania danych, co czyni ją nieprawidłową. W kontekście przydzielania uprawnień, istotne jest zrozumienie, że dostęp do danych powinien być zgodny z rolą użytkownika oraz zadaniami, jakie ma do wykonania. Właściwe przydzielenie uprawnień jest fundamentalne w zapewnieniu bezpieczeństwa danych i ich integralności.

Pytanie 15

Jakie znaczniki <header>, <article>, <section>, <footer> są typowe dla języka?

A. HTML5
B. XHTML 1.1
C. HTML 4.01 Strict
D. HTML 4.01 Transitional
Znaczniki <header>, <article>, <section> oraz <footer> są częścią standardu HTML5, który wprowadza nowe semantyczne elementy, mające na celu poprawę struktury dokumentów HTML. Element <header> używany jest do definiowania nagłówków sekcji lub całej strony, co ułatwia nawigację i zrozumienie układu treści. <article> natomiast służy do oznaczania samodzielnych jednostek treści, które mogą być niezależnie dystrybuowane lub zrozumiane. <section> dzieli dokument na tematyczne sekcje, a <footer> zazwyczaj zawiera informacje o autorze, prawach autorskich czy linki do powiązanych materiałów. Stosowanie tych elementów zgodnie z ich przeznaczeniem sprzyja lepszej dostępności oraz optymalizacji SEO, ponieważ wyszukiwarki mogą lepiej interpretować strukturę strony. Przykładem zastosowania może być blog, w którym każdy post jest oznaczony jako <article>, co pozwala systemom wyszukiwania na łatwiejsze indeksowanie poszczególnych wpisów. Warto pamiętać, że HTML5 wspiera także inne aspekty nowoczesnego web designu, takie jak media, formularze i API, co czyni go standardem przyszłości.

Pytanie 16

Do czego wykorzystywany jest program debugger?

A. do interpretacji kodu w wirtualnej maszynie Java
B. do analizy działającego programu w celu odnalezienia błędów
C. do badania kodu źródłowego w celu wykrycia błędów składniowych
D. do przetwarzania kodu napisanego w języku wyższego poziomu na język maszynowy
Pomimo że niektóre odpowiedzi mogą wydawać się bliskie prawdy, należy zrozumieć istotne różnice między funkcjami debuggera a innymi narzędziami w ekosystemie programistycznym. Interpretacja kodu w wirtualnej maszynie Java nie jest zadaniem debuggera, lecz specyficzną funkcją maszyny wirtualnej, która wykonuje programy napisane w języku Java. Ta odpowiedź myli koncepcję uruchamiania kodu z jego analizą i diagnostyką. Z kolei analiza kodu źródłowego w celu odnalezienia błędów składniowych odnosi się do działania kompilatora, który sprawdza poprawność składniową przed uruchomieniem programu, podczas gdy debugger działa na już uruchomionym kodzie. Tłumaczenie kodu zapisanego w języku wyższego poziomu na język maszynowy to proces kompilacji, który ma miejsce przed wykonaniem programu. Debugger, zamiast tego, koncentruje się na dynamicznej analizie działania programu, co jest kluczowe podczas testowania i naprawiania błędów. Zrozumienie tych różnic jest niezbędne, aby poprawnie wykorzystać narzędzia dostępne w procesie tworzenia oprogramowania oraz aby unikać typowych błędów myślowych, takich jak mylenie etapu kompilacji z etapem wykonania.

Pytanie 17

W języku PHP przypisano zmiennej $a wartość 1. Porównanie $a === $b zwraca true, gdy zmienna $b ma przypisaną wartość

A. *1
B. '1'
C. 1 lub '1'
D. '1' lub "1"
Zmienna $a, zainicjowana wartością 1, jest typu integer i porównując ją z inną zmienną $b za pomocą operatora identyczności (===), należy zwrócić szczególną uwagę na typ i wartość obu zmiennych. Wiele osób myli operator porównania identyczności z operatorem równości (==), który nie wymaga, aby typy były zgodne. Z tego powodu odpowiedzi takie jak 1 lub '1' mogą wydawać się poprawne, jednak w przypadku porównania identyczności, istotne jest, aby zmienne były tego samego typu. Odpowiedź, która sugeruje wartość 1, jest błędna, ponieważ porównuje wartość integer z potencjalnie innym typem bez uwzględnienia konwersji typów, co prowadzi do niejednoznaczności. Z kolei odpowiedź sugerująca wartość '1' nie do końca zdaje sobie sprawę, że chociaż string '1' jest zgodny w kontekście równości, nie spełnia warunków identyczności w dosłownym sensie, gdyż typy są różne. Typowe błędy myślowe prowadzące do takich nieprawidłowych wniosków często wynikają z założenia, że PHP automatycznie wykonuje konwersje typów, co nie zawsze jest pożądane. Dla programistów istotne jest zrozumienie różnic między typami oraz kiedy stosować odpowiednie operatory, aby zapewnić poprawność logiki aplikacji i uniknąć potencjalnych błędów, które mogą prowadzić do trudnych do zdiagnozowania problemów w przyszłości.

Pytanie 18

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

A. Usuwania białych znaków lub innych znaków wymienionych w parametrze z obu końców tekstu
B. Redukowania długości tekstu o określoną w parametrze liczbę znaków
C. Porównywania dwóch tekstów i wyświetlania ich wspólnej części
D. Określania długości tekstu
Funkcja trim w języku PHP jest niezwykle użyteczna, ponieważ jej głównym zadaniem jest usuwanie białych znaków oraz innych znaków, które zostaną określone w parametrze, z obu końców łańcucha tekstowego. Oznacza to, że gdy mamy do czynienia z danymi wejściowymi, które mogą zawierać niepotrzebne spacje lub znaki specjalne na początku i końcu, funkcja trim pozwala na ich łatwe oczyszczenie. Przykładowo, jeśli mamy zmienną $text = ' Hello World! ', to wywołanie trim($text) zwróci 'Hello World!'. To podejście jest zgodne z dobrymi praktykami w programowaniu, gdzie ważne jest, aby dane były poprawnie sformatowane przed dalszym przetwarzaniem. Użycie funkcji trim może być szczególnie istotne w kontekście walidacji danych użytkownika, a także przy przetwarzaniu danych z formularzy HTML, gdzie niewłaściwe spacjowanie może prowadzić do błędów w logice aplikacji. Dodatkowo, trim może przyjmować drugi parametr, który pozwala na usunięcie konkretnych znaków, co daje programiście jeszcze większą elastyczność w manipulacji łańcuchami tekstowymi.

Pytanie 19

Funkcja colspan umożliwia łączenie komórek tabeli w układzie poziomym, natomiast rowspan w układzie pionowym. Która z poniższych tabel odpowiada fragmentowi kodu w języku HTML?

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź B
C. Odpowiedź C
D. Odpowiedź D
Polecenie rowspan w języku HTML służy do łączenia komórek tabeli w pionie. W podanym fragmencie kodu HTML, atrybut rowspan jest użyty z wartością 2 w pierwszej komórce pierwszego wiersza. Oznacza to, że ta komórka będzie się rozciągać na dwa wiersze, co jest widoczne w odpowiedzi B. Tabelę HTML można wykorzystać do tworzenia złożonych struktur danych, gdzie rowspan jest kluczowe w przypadku, gdy chcemy zminimalizować liczbę komórek i lepiej zorganizować dane w pionowe bloki. Użycie rowspan jest zgodne ze standardami HTML5, które zalecają semantyczne i logiczne układanie danych. Praktyczne zastosowanie rowspan można znaleźć w projektach takich jak raporty finansowe czy skomplikowane formularze, gdzie często wymagane jest łączenie komórek w pionie. W projektowaniu stron internetowych zaleca się stosowanie tabel w przypadkach rzeczywistych danych tabelarycznych, a nie do układu strony, co jest zgodne z wytycznymi dotyczącymi dostępności WCAG.

Pytanie 20

Aby zmienić wartość atrybutu elementu opisanego w CSS przy użyciu skryptu JavaScript, należy zastosować następujący zapis

A. document.getElementById(id).innerHTML = <nowa wartość>
B. document.getElementById(id).<nazwa właściwości> = <nowa wartość>
C. document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>
D. document.getElementById(id).<nazwa-atrybutu> = <nowa wartość>
Odpowiedź "document.getElementById(id).style.<nazwa właściwości> = <nowa wartość>;" jest poprawna, ponieważ umożliwia bezpośrednią modyfikację stylu CSS elementu HTML o określonym identyfikatorze. Przy użyciu metody getElementById() uzyskujemy dostęp do konkretnego elementu w DOM (Document Object Model), a następnie poprzez właściwość style, możemy zmieniać różne atrybuty CSS. Na przykład, aby zmienić kolor tła elementu, możemy napisać: document.getElementById('myElement').style.backgroundColor = 'red';. Wartością, którą przypisujemy, jest odpowiednia właściwość CSS, co czyni ten sposób zgodnym z dobrymi praktykami w programowaniu JavaScript. Dodatkowo, korzystając z tej metody, możemy dynamicznie dostosowywać styl elementów na stronie w odpowiedzi na interakcje użytkownika, co jest kluczowe w nowoczesnych aplikacjach webowych. Warto też zauważyć, że zmiany dokonane w ten sposób są natychmiast widoczne na stronie, co przyczynia się do lepszego doświadczenia użytkownika.

Pytanie 21

Parametr face elementu <font> jest używany do wskazania

A. nazwa czcionki
B. koloru czcionki
C. rozmiaru czcionki
D. efektów czcionki
Parametr face znacznika <font> w HTML definiuje konkretną nazwę czcionki, która ma być używana do wyświetlania tekstu. Umożliwia to projektantom stron internetowych precyzyjne określenie, jak tekst będzie wyglądał, co jest istotne dla estetyki oraz czytelności strony. W praktyce, zamiast stosować ogólne czcionki systemowe, projektanci mogą wskazać konkretne nazwy czcionek, jak 'Arial', 'Verdana' czy 'Times New Roman', aby osiągnąć zamierzony efekt wizualny. Warto jednak pamiętać, że stosowanie znacznika <font> oraz jego atrybutu face jest już przestarzałe, a w nowoczesnym kodowaniu lepiej jest korzystać z CSS, gdzie właściwość 'font-family' pełni tę samą funkcję, ale z większą elastycznością i lepszym wsparciem dla różnych urządzeń. Przykładowo, zamiast <font face='Arial'>Tekst</font>, w CSS można użyć: <style> p { font-family: Arial; } </style>. Z perspektywy dobrych praktyk, zaleca się używanie CSS do stylizacji tekstu, co pozwala na lepszą separację treści od prezentacji oraz łatwiejsze zarządzanie stylami w całym dokumencie.

Pytanie 22

Które z podanych formatów NIE JEST zapisane w języku CSS?

Ilustracja do pytania
A. A
B. B
C. C
D. D
Odpowiedź C jest prawidłowa, ponieważ atrybut bgcolor jest przestarzałą metodą określania koloru tła w HTML i nie jest częścią CSS. CSS (Cascading Style Sheets) zostało stworzone, aby oddzielić prezentację dokumentu od jego struktury. Korzystanie z CSS pozwala na lepsze zarządzanie stylem i spójność w wyglądzie wielu stron internetowych. Atrybuty HTML związane z wyglądem, takie jak bgcolor, zostały zastąpione przez deklaracje w CSS. Na przykład w CSS można ustawić kolor tła całej strony za pomocą selektora body i właściwości background-color. Takie podejście jest bardziej elastyczne i zgodne z nowoczesnymi standardami. Dzięki CSS możliwe jest stosowanie zaawansowanych stylizacji, takich jak gradienty czy obrazy tła, które nie były dostępne w prostych atrybutach HTML. Przy projektowaniu stron internetowych zaleca się, aby unikać przestarzałych atrybutów HTML, które mogą być niekompatybilne z nowoczesnymi przeglądarkami i powodować problemy z dostępnością.

Pytanie 23

Nazywa się inaczej nasycenie koloru

A. przezroczystość koloru
B. dopełnienie koloru
C. nasycenie koloru
D. jasność koloru
Saturacja koloru, znana również jako nasycenie, odnosi się do intensywności koloru, określając, jak czysty lub żywy jest dany kolor w porównaniu do szarości o tej samej jasności. W praktyce, wysoka saturacja oznacza, że kolor jest bardziej intensywny i wyrazisty, podczas gdy niska saturacja sprawia, że kolor staje się bardziej stonowany i bliski szarości. Na przykład, jaskrawoczerwony odcień czerwieni ma wysoką saturację, podczas gdy różowy odcień tej samej barwy będzie charakteryzował się niższą saturacją, ponieważ zawiera więcej bieli. W kontekście projektowania graficznego i fotografii, zrozumienie nasycenia jest kluczowe. Pomaga to w tworzeniu harmonijnych kompozycji, które przyciągają uwagę i wywołują określone emocje u odbiorców. Profesjonaliści często korzystają z narzędzi do edycji zdjęć, takich jak Adobe Photoshop, aby manipulować nasyceniem kolorów, co może znacząco wpłynąć na ostateczny odbiór wizualny. Satysfakcjonująca paleta kolorów w projektach graficznych opiera się na właściwym balansowaniu nasycenia, co jest zgodne z zasadami teorii kolorów.

Pytanie 24

Skrypt PHP wyświetla aktualny czas w formacie godzina:minuta:sekunda, na przykład 15:38:20. Czas w tym formacie zostanie uzyskany dzięki funkcji

A. time("H:i:s");
B. date("G:m:s");
C. date("H:i:s");
D. time("G:m:s");
Wybór time("H:i:s") jako metody zwracającej aktualny czas w pożądanym formacie jest błędny, ponieważ funkcja time() nie formatuje daty ani czasu. Zamiast tego, time() zwraca czas w postaci znacznika czasu (timestamp) – liczby sekund, które upłynęły od 1 stycznia 1970 roku, co jest znane jako Unix Epoch. Dlatego wywołanie time("H:i:s") nie zadziała, ponieważ ta funkcja nie akceptuje parametrów formatujących. Kolejną nieprawidłową odpowiedzią jest date("G:m:s"). Chociaż funkcja date() jest stosowana do formatowania czasu, pole 'G' zwraca godziny w 24-godzinnym formacie, ale bez wiodących zer (tak jak 'H'), co może prowadzić do niepoprawnego wyświetlania godzin mniejszych niż 10. Dodatkowo, 'm' odnosi się do miesięcy, a nie minut, co czyni to podejście błędnym we wszystkich aspektach. Wreszcie, w odpowiedzi time("G:m:s") ponownie pojawia się problem ze zrozumieniem funkcji time(), która nie jest używana do formatowania czasu, a zamiast tego służy tylko do uzyskania znacznika czasu. Typowe błędy myślowe związane z tymi odpowiedziami obejmują mylenie funkcji do pozyskiwania danych z funkcjami do ich formatowania oraz niepełne zrozumienie składni i możliwości dostępnych funkcji PHP. Rekomenduje się zawsze dokładne zapoznanie się z dokumentacją PHP oraz praktyczne testowanie funkcji w różnych scenariuszach, aby lepiej zrozumieć ich zastosowanie i ograniczenia.

Pytanie 25

.format1 {
    …
}
W CSS określono wspólne style dla pewnej grupy elementów. Użycie takich stylów w kodzie HTML odbywa się za pomocą atrybutu:
A. div = "format1"
B. style = "format1"
C. id = "format1"
D. class = "format1"
Użycie atrybutu class w języku HTML do formatowania grupy znaczników jest zgodne z najlepszymi praktykami web developmentu. Atrybut class pozwala na zastosowanie tej samej definicji stylu CSS do wielu elementów, co jest efektywne i utrzymuje porządek w kodzie. Umożliwia to również łatwą zmianę wyglądu strony poprzez modyfikację tylko jednej definicji CSS zamiast ręcznego edytowania stylów każdego z elementów z osobna. Dzięki takiemu podejściu, programista może szybko aktualizować wygląd całej strony lub jej części bez ryzyka, że pominięte zostaną pojedyncze elementy. Ponadto użycie klas jest zgodne ze standardami W3C, co zapewnia kompatybilność i poprawne renderowanie w różnych przeglądarkach. Praktycznym przykładem zastosowania jest stronie, gdzie wszystkie elementy z klasą .format1 będą miały jednolity wygląd, na przykład wszystkie przyciski na stronie mogą mieć jednakowy kolor i styl. Pozwala to na tworzenie spójnych interakcji użytkownika i ułatwia przyszłą rozbudowę strony o dodatkowe funkcje.

Pytanie 26

Które z poniższych twierdzeń o zasadach programowania w PHP jest poprawne?

A. Deklaracja zmiennych odbywa się po słowie kluczowym var
B. Nazwy zmiennych zaczynają się od znaku !
C. Jest to język o słabej kontroli typów
D. W nazwach zmiennych nie rozróżnia się wielkości liter
PHP jest językiem o słabej kontroli typów, co oznacza, że nie wymaga określenia typu zmiennej podczas jej deklaracji. W praktyce, PHP automatycznie konwertuje typy danych w zależności od kontekstu, w którym są używane. Przykładowo, jeśli przypiszesz do zmiennej wartość liczbową, a następnie użyjesz jej w kontekście tekstowym, PHP przekształci tę liczbę na łańcuch znaków automatycznie. Dzięki temu programiści mogą skupić się na logice aplikacji, a nie na zarządzaniu typami danych. Ważne jest jednak, aby pamiętać, że ta elastyczność może prowadzić do błędów, jeśli nie będziemy ostrożni. Dlatego dobrym podejściem jest stosowanie jawnych konwersji typów, gdy jest to możliwe, co zwiększa czytelność kodu i ułatwia jego późniejsze utrzymanie. Używanie funkcji takich jak (int), (float) czy (string) w celu wymuszenia określonych typów danych przed operacjami arytmetycznymi lub logicznymi, to praktyka, która może zapobiec wielu problemom z nieoczekiwanym zachowaniem skryptów. Znalezienie równowagi między wygodą a bezpieczeństwem typów jest kluczowym elementem programowania w PHP.

Pytanie 27

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
B. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
C. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
D. <link rel="Stylesheet" type="text/css" href="styl.css" />
Poprawna odpowiedź to <link rel="Stylesheet" type="text/css" href="../style/styl.css" />. Użycie tej ścieżki względnej jest kluczowe, ponieważ wskazuje na lokalizację pliku styl.css w stosunku do pliku HTML, w którym jest osadzony. Folder 'www' zawiera podfoldery 'html' oraz 'style', a aby poprawnie zaadresować plik styl.css, który jest w folderze 'style', musimy wyjść z folderu 'html' (stąd '../') i następnie wejść do folderu 'style', gdzie znajduje się plik styl.css. W praktyce jest to zgodne z dobrą praktyką organizacji plików w projektach webowych, ponieważ ułatwia zarządzanie i lokalizowanie zasobów. Warto również zauważyć, że poprawne wskazanie ścieżki do plików CSS jest niezbędne dla prawidłowego renderowania stylów na stronie, co wpływa na jej wygląd i użytkowalność. Wszyscy deweloperzy front-end powinni być świadomi znaczenia dokładnego wskazywania ścieżek oraz stosować się do konwencji dotyczących organizacji struktur plików w projekcie.

Pytanie 28

W tabeli klienci w bazie danych sklepu internetowego występują m.in. pola całkowite: punkty,
liczbaZakupow oraz pole ostatnieZakupy typu DATE. Klauzula WHERE do zapytania wybierającego klientów, którzy posiadają ponad 3000 punktów lub zrealizowali zakupy więcej niż 100 razy, a ich ostatnie zakupy miały miejsce przynajmniej w roku 2022 ma formę

A. WHERE punkty > 3000 AND liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
B. WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'
C. WHERE punkty > 3000 OR liczbaZakupow > 100 OR ostatnieZakupy >= '2022-01-01'
D. WHERE punkty > 3000 AND liczbaZakupow > 100 AND ostatnieZakupy >= '2022-01-01'
Odpowiedź 'WHERE (punkty > 3000 OR liczbaZakupow > 100) AND ostatnieZakupy >= '2022-01'' jest prawidłowa, ponieważ dokładnie odzwierciedla wymagania dotyczące filtrowania klientów. Klauzula WHERE używa operatora OR dla dwóch warunków: liczba punktów musi być większa niż 3000, albo liczba zakupów musi być większa niż 100. Taki zapis jest kluczowy, ponieważ spełnienie jednego z tych warunków jest wystarczające. Następnie, warunek dotyczący daty ostatnich zakupów jest połączony z powyższymi za pomocą operatora AND, co oznacza, że musi być spełniony jednocześnie. Dzięki użyciu nawiasów, zapytanie jest jasne i jednoznaczne, co jest zgodne z dobrymi praktykami w tworzeniu zapytań SQL. W praktyce takie kwerendy są często używane w systemach CRM, gdzie konieczne jest segmentowanie klientów na podstawie ich aktywności oraz wartości, co pozwala na skuteczniejsze podejmowanie decyzji marketingowych.

Pytanie 29

Który zapis definiuje w języku C++ komentarz jednoliniowy?

A.
<
B.
//
C.
/*
D.
#
W C++ komentarz jednoliniowy zaczyna się od // - tekst od tych znaków do końca wiersza jest pomijany przez kompilator. Dlatego komentarz jednoliniowy to //.

Pytanie 30

Czym jest odpowiednik encji w relacyjnej bazie danych?

A. tabela
B. wiersz
C. kolumna
D. atrybut
W modelu relacyjnym odpowiednikiem encji (obiektu opisywanego danymi) jest TABELA - przechowuje wszystkie egzemplarze danego typu, każdy w osobnym wierszu. Dlatego encji odpowiada tabela.

Pytanie 31

Jakie pojęcia są wykorzystywane do opisu interfejsu użytkownika serwisu internetowego?

A. Szkic strony, mapa witryny, diagram przepływu informacji
B. Wysyłanie zapytań do bazy, skrypty PHP
C. Przyciski, menu, interakcja użytkownika z aplikacją
D. Przetwarzanie danych, system zarządzania treścią, projektowanie informacji
Wybór odpowiedzi związanej z "Szkicem strony, diagramem witryny, diagramem przepływu informacji" wskazuje na pewne nieporozumienie dotyczące definicji interfejsu użytkownika. Szkice i diagramy są narzędziami służącymi do planowania i wizualizacji struktury i funkcji strony internetowej, ale same w sobie nie definiują, co stanowi interfejs użytkownika. Te pojęcia dotyczą bardziej fazy projektowania i architektury informacji, co jest istotne, ale nie odnosi się do interakcji z użytkownikiem. Podobnie, odpowiedzi związane z "wysyłaniem kwerend do bazy" oraz "skryptami PHP" również nie definiują interfejsu użytkownika. Te elementy dotyczą backendu, czyli serwera i logiki aplikacji, które są oddzielone od bezpośredniego doświadczenia użytkownika. Często pojawia się mylne założenie, że wszystkie aspekty technologii webowej są ze sobą powiązane, jednak istotne jest rozróżnienie pomiędzy frontendem a backendem. Właściwe zrozumienie tych ról jest kluczowe dla efektywnego projektowania stron internetowych, gdzie interfejs użytkownika odgrywa fundamentalną rolę w osiąganiu zamierzonych celów użytkownika i organizacji. Właściwa separacja tych koncepcji jest istotna dla efektywności procesu projektowania i tworzenia stron internetowych.

Pytanie 32

Aby przekształcić obraz z formatu JPEG na PNG tak, by biały kolor stał się przezroczysty, należy w pierwszej kolejności:

A. zaimportować obraz do edytora grafiki wektorowej
B. zmniejszyć rozdzielczość obrazu
C. wymazać gumką wszystkie białe miejsca
D. dodać do obrazu kanał alfa
Przezroczystość w grafice rastrowej przechowuje kanał alfa - dodatkowy kanał określający, na ile każdy piksel jest widoczny. JPEG go nie obsługuje, więc po przejściu na PNG trzeba najpierw dodać kanał alfa, a następnie zaznaczyć biały kolor i uczynić go przezroczystym. Bez kanału alfa nie da się zapisać przezroczystych obszarów. Dlatego najpierw dodaje się kanał alfa.

Pytanie 33

Zgodnie z zasadami walidacji HTML5, prawidłowy zapis tagu hr to

A. <hr>
B. </ hr>
C. </hr?>
D. </ hr />
Znak <hr> jest poprawnym zapisem znacznika poziomej linii w HTML5. Zgodnie z definicją, <hr> jest elementem samodzielnym, co oznacza, że nie wymaga znacznika zamykającego. Jest to zgodne z zasadami HTML5, które wprowadziły uproszczoną składnię dla wielu elementów. W praktyce <hr> jest używany do wizualnego oddzielania sekcji w dokumencie HTML, co poprawia czytelność i estetykę strony. Na przykład, w artykule internetowym można zastosować <hr> między różnymi sekcjami, aby wskazać zmianę tematu lub podział pomiędzy wprowadzeniem a treścią główną. Zgodność z tym standardem nie tylko ułatwia pracę z kodem, ale również zapewnia lepszą kompatybilność z przeglądarkami i narzędziami dostępu. Warto także zwrócić uwagę, że dobrym zwyczajem jest dodawanie atrybutów klasy lub identyfikatora do tego znacznika w celu dalszej personalizacji stylów CSS, co zwiększa elastyczność w projektowaniu graficznym strony.

Pytanie 34

Który komentarz poprawnie opisuje działanie tej funkcji PHP?

function f($a, $b) {
  if ($a == $b) return -1;
  return ($a > $b) ? $a : $b;
}
A.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca -1 */
B.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca -1 */
C.
/* Funkcja zwraca większą z dwóch wartości, a gdy  równe - zwraca $a */
D.
/* Funkcja zwraca mniejszą z dwóch wartości, a gdy  równe - zwraca $a */
Funkcja najpierw sprawdza if ($a == $b) return -1; (gdy wartości są równe, zwraca -1), a w przeciwnym razie operatorem ($a > $b) ? $a : $b zwraca WIĘKSZĄ z dwóch wartości. Dlatego trafny jest opis: zwraca większą z dwóch wartości, a gdy są równe - zwraca -1.

Pytanie 35

W języku SQL aby zmodyfikować dane w tabeli, należy posłużyć się poleceniem

A. CREATE
B. UPDATE
C. SELECT
D. JOIN
Polecenie UPDATE to w SQL podstawowe narzędzie do modyfikowania istniejących danych w tabelach. W praktyce oznacza to, że jeśli chcesz np. zmienić wartość jakiegoś pola dla wybranego rekordu, to właśnie tego polecenia używasz. Przykład z życia: masz tabelę pracowników i ktoś zmienił numer telefonu – nie robisz nowego wpisu, nie tworzysz nowej tabeli, tylko aktualizujesz jedną kolumnę w odpowiednim wierszu. Składnia tego polecenia jest dość intuicyjna: UPDATE nazwa_tabeli SET kolumna=nowa_wartość WHERE warunek. Bardzo ważne jest stosowanie klauzuli WHERE, bo inaczej możesz przez przypadek podmienić dane we wszystkich wierszach tabeli, co niestety zdarza się nawet doświadczonym programistom, zwłaszcza przy pracy na środowiskach testowych. Warto wiedzieć, że SQL-92 (czyli jeden z najważniejszych standardów języka SQL) dokładnie opisuje sposób działania tego polecenia. Często w praktyce spotyka się też połączenie UPDATE z transakcjami, żeby mieć możliwość cofnięcia zmian, gdyby coś poszło nie tak. Moim zdaniem umiejętne stosowanie UPDATE to podstawa pracy z bazami danych – prawie każdy większy system korzysta z tego polecenia na co dzień. Dobrze też pamiętać o bezpieczeństwie i zawsze sprawdzać, czy warunek w WHERE jest poprawny, żeby nie napsuć w danych. Praktyka czyni mistrza i z czasem takie operacje wchodzą w krew.

Pytanie 36

Które zapytanie SQL zwróci wszystkie kolumny z tabeli produkty?

A.
SELECT * FROM produkty;
B.
SELECT produkty FROM *;
C.
FETCH * FROM produkty;
D.
GET * FROM produkty;
Aby pobrać wszystkie kolumny tabeli, w miejscu listy pól wstawia się gwiazdkę: SELECT * FROM produkty;. Symbol * znaczy „wszystkie pola”, więc zapytanie zwróci pełne wiersze tabeli produkty. Dlatego ta kwerenda jest poprawna.

Pytanie 37

UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);
W tabeli klient o polach: id, imie, nazwisko, miejscowosc znajduje się 5 rekordów o id od 1 do 5. Dla których wartości kolumny id przedstawiona kwerenda zaktualizuje zawartość pola miejscowosc na Warszawa?
A. 3
B. 1, 5
C. 2, 4
D. 2, 3, 4
W tym zadaniu kluczowe jest dokładne zrozumienie, jak działa klauzula WHERE w instrukcji UPDATE oraz jak interpretować zapis z operatorem IN. Konstrukcja `UPDATE klient SET miejscowosc='Warszawa' WHERE id IN(2,4);` nie wybiera „jakichś tam” rekordów losowo ani nie aktualizuje wszystkich wierszy, tylko bardzo konkretną podgrupę danych. Warunek `id IN (2,4)` jest równoważny zapisowi `id = 2 OR id = 4`. To oznacza, że silnik bazy danych przechodzi po rekordach i sprawdza: jeśli id danego rekordu jest równe 2 lub 4, to ustawia miejscowosc na 'Warszawa'. Jeśli id ma inną wartość, rekord jest pomijany. Częsty błąd myślowy polega na tym, że ktoś skupia się na liczbie rekordów w tabeli (tu: 5 wierszy o id 1–5) i próbuje dopasować odpowiedź na zasadzie „a może chodzi o środkowy”, „a może o wszystkie poza tymi z listy” albo „może IN działa jak jakiś zakres”. To złe podejście. Operator IN nie oznacza przedziału, tylko dokładną listę dopuszczalnych wartości. Jeżeli na przykład ktoś uznał, że zaktualizowany zostanie tylko rekord o id=3, to najpewniej zignorował treść warunku lub pomylił IN z BETWEEN. Podobnie wybieranie pary 1,5 czy trójki 2,3,4 sugeruje, że myśli się raczej o odcinku lub o „skrajnych” identyfikatorach, a nie o literalnie podanych liczbach wewnątrz nawiasu. W SQL, gdy chcemy objąć zakresem wszystkie id od 2 do 4, używamy `WHERE id BETWEEN 2 AND 4`, a nie `IN(2,4)`. Warto też utrwalić sobie, że brak dopasowania do warunku WHERE oznacza brak jakiejkolwiek zmiany w danym wierszu, więc rekordy o id 1, 3 i 5 pozostaną nietknięte. Dobra praktyka w pracy z bazami danych to zawsze czytanie warunku WHERE „na głos” i zastanowienie się, jakie dokładnie wartości są dopuszczone. Pozwala to uniknąć groźnych pomyłek, kiedy przypadkowo zmienilibyśmy zbyt wiele danych lub zupełnie nie te rekordy, które planowaliśmy edytować.

Pytanie 38

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia:

A. debugger
B. Notepad++
C. phpMyAdmin
D. środowisko IDE
Zintegrowane środowisko programistyczne (IDE - Integrated Development Environment) to program, który w jednym miejscu łączy narzędzia potrzebne do tworzenia oprogramowania: edytor kodu (z podpowiedziami i podświetlaniem składni), kompilator/uruchamianie, debugger, a często też zarządzanie projektem, bazami danych, zależnościami i kontrolą wersji. Przykłady to Visual Studio, IntelliJ IDEA, PhpStorm czy Eclipse. Dzięki integracji programista nie przełącza się między osobnymi aplikacjami. Dlatego pełną funkcjonalność tworzenia programu udostępnia środowisko IDE.

Pytanie 39

Którą technologię poleca się, aby treść serwisu mogli edytować użytkownicy bez umiejętności programowania?

A. CMS
B. SEO
C. FTP
D. SSL
Aby treść serwisu mogli edytować użytkownicy bez umiejętności programowania, stosuje się system CMS - zarządza się nią przez gotowy panel, bez pisania kodu. Dlatego poleca się CMS.

Pytanie 40

W języku skryptowym JavaScript operatory: || oraz && należą do grupy operatorów

A. bitowych.
B. logicznych.
C. przypisania.
D. arytmetycznych.
Operatory || oraz && w JavaScript to klasyczne operatory logiczne. Działają na wartościach, które można zinterpretować jako prawdę lub fałsz (tzw. wartości truthy i falsy) i zwracają wynik wyrażenia logicznego. && oznacza „i” logiczne – całe wyrażenie jest prawdziwe tylko wtedy, gdy oba operandy są traktowane jako prawdziwe. || oznacza „lub” logiczne – wystarczy, że jeden z operandów jest prawdziwy, żeby całe wyrażenie było uznane za prawdę. W praktyce bardzo często wykorzystuje się je w instrukcjach warunkowych, np.: if (isLoggedIn && isAdmin) { … } albo if (isMobile || isTablet) { … }. W JavaScript te operatory mają jeszcze jedną, moim zdaniem bardzo przydatną cechę: nie zwracają po prostu true/false, tylko konkretną wartość jednego z operandów. Na przykład: const name = userName || "Gość"; – jeśli userName jest wartością „falsy” (np. pusty string, null, undefined), to do name trafi "Gość". To jest tzw. krótkie spięcie (short-circuit evaluation): przy operatorze &&, jeśli pierwszy operand jest falsy, drugi nie jest już w ogóle obliczany; przy ||, jeśli pierwszy jest truthy, drugi też nie jest sprawdzany. W dobrych praktykach front-endu wykorzystuje się to do prostego ustawiania wartości domyślnych, zabezpieczania wywołań funkcji (np. callback && callback()) oraz budowania bardziej czytelnych warunków. Warto też pamiętać o różnicy między operatorami logicznymi (&&, ||, !) a porównania (===, !==), bo to są różne grupy operatorów, chociaż często używa się ich razem w tych samych warunkach. Z mojego doświadczenia, świadome używanie tych operatorów logicznych bardzo upraszcza kod i zmniejsza liczbę if-ów rozrzuconych po skryptach.