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: 12 maja 2026 15:17
  • Data zakończenia: 12 maja 2026 15:28

Egzamin niezdany

Wynik: 15/40 punktów (37,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Głównym celem systemu CMS jest oddzielenie treści witryny informacyjnej od jej wyglądu. Jak osiągany jest ten efekt?

A. ze statycznych plików HTML oraz wyglądu ze zdefiniowanego szablonu
B. z bazy danych oraz wyglądu za pomocą atrybutów HTML
C. ze statycznych plików HTML oraz wyglądu za pomocą technologii FLASH
D. z bazy danych oraz wyglądu ze zdefiniowanego szablonu
Wykorzystanie statycznych plików HTML do generowania treści w kontekście systemów CMS jest koncepcją nieefektywną oraz niezgodną z współczesnymi standardami zarządzania treścią. Statyczne pliki HTML są trudne do aktualizacji, co oznacza, że każda zmiana wymaga edycji każdego pliku osobno. W praktyce prowadzi to do zwiększenia ryzyka błędów oraz obniża efektywność pracy, szczególnie w większych projektach. Z drugiej strony, wykorzystanie atrybutów HTML do definiowania wyglądu nie oddziela treści od prezentacji, co jest kluczowym założeniem CMS. Takie podejście nie tylko zagraża porządku w organizacji treści, ale także może negatywnie wpływać na dostępność oraz responsywność strony. Ponadto, technologia FLASH, która była popularna w przeszłości, obecnie nie jest wspierana przez większość przeglądarek i nie jest zalecana w nowoczesnym projektowaniu stron internetowych. Właściwe podejście do zarządzania treścią wymaga stosowania nowoczesnych narzędzi, takich jak bazy danych w połączeniu z szablonami, co zapewnia elastyczność i wygodę użytkowania. W ten sposób można efektywnie zarządzać zawartością oraz zapewnić optymalną wydajność i estetykę serwisu.

Pytanie 2

Jakie są określenia typowych komend języka SQL, które dotyczą przeprowadzania operacji na danych SQL DML (np.: dodawanie danych do bazy, usuwanie, modyfikowanie danych)?

A. DENY, GRANT, REVOKE
B. SELECT, SELECT INTO
C. ALTER, CREATE, DROP
D. DELETE, INSERT, UPDATE
Odpowiedź DELETE, INSERT, UPDATE jest prawidłowa, ponieważ te polecenia stanowią podstawowe instrukcje języka SQL DML (Data Manipulation Language), które są wykorzystywane do manipulacji danymi w bazie danych. DELETE służy do usuwania rekordów z tabel, co jest niezbędne w sytuacjach, gdy dane są już nieaktualne lub niepotrzebne. INSERT umożliwia dodawanie nowych rekordów, co jest kluczowe w procesie wprowadzania danych, na przykład dodawania nowych klientów do bazy danych. Z kolei UPDATE pozwala na modyfikację już istniejących danych, co jest istotne w przypadku zmiany informacji, takich jak aktualizacja adresu klienta. W praktyce te operacje są niezwykle ważne dla utrzymania spójności i aktualności danych w systemach zarządzania bazami danych. Warto również zauważyć, że stosowanie tych poleceń zgodnie z dobrymi praktykami, takimi jak transakcje, pozwala na zabezpieczenie integralności danych oraz umożliwia łatwe wycofywanie zmian w przypadku błędów.

Pytanie 3

W kontekście CSS atrybut font-size może przyjmować wartości zgodnie z nazwami kluczowymi

A. tylko small, smaller, large, larger
B. jedynie big oraz small
C. wyłącznie small, medium, large
D. z zestawu xx-small, x-small, small, medium, large, x-large, xx-large
Właściwość font-size w CSS to naprawdę ważny aspekt, gdy chodzi o stylizację tekstów na stronach. Trzeba mieć na uwadze, że odpowiadając na pytania, nie możesz ograniczać się tylko do 'big' i 'small' albo 'small', 'medium' i 'large'. To jest trochę za mało, bo CSS ma znacznie więcej wartości, które są potrzebne do prawidłowego działania. Słowa takie jak 'smaller' czy 'larger' też mogą wprowadzać w błąd, ponieważ są to terminy relatywne i nie da się ich używać bez ustalenia bazowego rozmiaru czcionki. Co to oznacza? To, że te jednostki nie są takie uniwersalne. Jeśli będziesz korzystać tylko z ograniczonego zestawu wartości, to możesz mieć kłopoty z responsywnością w projektowaniu, gdzie różnorodność jest kluczowa. Żeby projekt wyglądał dobrze, trzeba trzymać się pełnych specyfikacji CSS, czyli tych wszystkich wartości, jak xx-small, x-small, small, medium, large, x-large i xx-large. Ignorowanie tych standardów wpłynie nie tylko na estetykę, ale też na to, jak użytkownicy będą korzystać ze stron.

Pytanie 4

W programie Microsoft Access mechanizmem ochrony danych związanym z tabelą i kwerendą jest

A. określanie zakresu tabel
B. wykorzystanie makr
C. przypisanie uprawnień
D. ustalanie limitów przestrzeni na dysku
Odpowiedzi sugerujące określanie przestrzeni tabel, wprowadzenie limitów przestrzeni dyskowej oraz stosowanie makr jako formy zabezpieczeń dostępu do danych w Microsoft Access są mylące i nie oddają istoty zarządzania bezpieczeństwem danych w tym programie. Określanie przestrzeni tabel odnosi się do fizycznej organizacji danych w bazie, ale nie ma bezpośredniego wpływu na to, kto ma prawo do ich przeglądania czy edytowania. Nie służy to ochronie danych, a raczej optymalizacji ich przechowywania. Wprowadzenie limitów przestrzeni dyskowej, chociaż może pomóc w zarządzaniu zasobami systemowymi, nie wpływa na kontrolę dostępu, co czyni tę metodę niewłaściwą w kontekście zabezpieczeń. Istotniejsze jest to, że takie podejście nie reguluje, jak użytkownicy oddziałują z danymi, ani jakie mają do nich uprawnienia. Stosowanie makr natomiast dotyczy automatyzacji procesów i usprawnienia funkcjonalności aplikacji, a nie zarządzania dostępem do danych. Użytkownicy mogą błędnie sądzić, że makra mogą pełnić rolę zabezpieczeń, ale w rzeczywistości są one narzędziem do efektywności pracy. Dlatego ważne jest, aby zrozumieć, że skuteczne zarządzanie dostępem do danych opiera się na przypisaniu odpowiednich uprawnień, co jest fundamentem ochrony informacji w środowisku baz danych.

Pytanie 5

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

Ilustracja do pytania
A. Jeden do wielu
B. Jeden do jednego
C. Wiele do wielu
D. Wiele do jednego
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 6

Jakie uprawnienia są wymagane do tworzenia i przywracania kopii zapasowej bazy danych Microsoft SQL Server 2005 Express?

A. Użytkownik lokalny.
B. Administrator systemu.
C. Użytkownicy zabezpieczeń.
D. Użytkownicy.
Aby wykonać i odtworzyć kopię zapasową bazy danych w Microsoft SQL Server 2005 Express, użytkownik musi posiadać uprawnienia administratora systemu. To oznacza, że ma on pełne prawo do zarządzania bazami danych, w tym do wykonywania operacji takich jak tworzenie kopii zapasowych oraz ich przywracanie. Administrator systemu może także konfigurować ustawienia serwera, zarządzać dostępem innych użytkowników oraz monitorować wydajność bazy danych. Przykładem praktycznym może być sytuacja, w której administrator wykonuje regularne kopie zapasowe, aby zabezpieczyć dane przed ich utratą spowodowaną awarią sprzętu lub błędami użytkowników. Warto również zauważyć, że zgodnie z najlepszymi praktykami IT, regularne tworzenie kopii zapasowych jest kluczowe dla zapewnienia bezpieczeństwa danych, a także zgodności z regulacjami prawnymi dotyczącymi ochrony danych. Uprawnienia te są zgodne z ogólnymi standardami zarządzania bazami danych, które podkreślają znaczenie odpowiednich ról użytkowników w kontekście bezpieczeństwa i integralności danych.

Pytanie 7

Który z frameworków stworzono dla języka skryptowego PHP?

A. ASP.NET
B. Spring
C. Angular
D. Symfony
Wybór frameworka do rozwoju aplikacji webowych wymaga zrozumienia specyfiki i przeznaczenia danego narzędzia. W przypadku Spring, jest to framework stworzony z myślą o języku Java, skoncentrowany na tworzeniu aplikacji korporacyjnych. Jego zalety, takie jak wsparcie dla zależności i aspektowości, czynią go doskonałym wyborem dla programistów Java, ale nie mają zastosowania w kontekście PHP. Angular natomiast to framework JavaScript, który jest używany do budowy interaktywnych aplikacji jednostronicowych (SPA) w przeglądarkach. Oferuje zaawansowane techniki zarządzania stanem oraz komponentami, lecz nie jest przeznaczony do programowania w PHP. ASP.NET jest z kolei technologią opracowaną przez Microsoft dla języka C# i platformy .NET, co czyni go nieodpowiednim dla projektów PHP. Te błędne odpowiedzi mogą wynikać z nieporozumienia w zakresie technologii webowych i ich wzajemnych relacji. Kluczowym elementem przy wyborze frameworka jest zrozumienie, że każde z tych narzędzi jest optymalizowane do konkretnego języka programowania i jego architektury, co podkreśla znaczenie dobrego dopasowania technologii do wymagań projektu.

Pytanie 8

Badania dotyczące skalowalności oprogramowania mają na celu sprawdzenie, czy aplikacja

A. jest odpowiednio opisana dokumentacją
B. jest chroniona przed nieautoryzowanymi operacjami, takimi jak dzielenie przez zero
C. posiada właściwą funkcjonalność
D. jest w stanie funkcjonować przy przewidzianym oraz większym obciążeniu
Odpowiedzi takie jak 'ma odpowiednią funkcjonalność', 'jest odpowiednio udokumentowana' oraz 'jest zabezpieczona przed niedozwolonymi operacjami' odnoszą się do zupełnie innych aspektów jakości oprogramowania. Funkcjonalność dotyczy tego, czy aplikacja spełnia określone wymagania i jest w stanie realizować zamierzone zadania. Choć jest to istotna cecha, nie jest bezpośrednio związana ze skalowalnością, która koncentruje się na możliwości dostosowania się systemu do zwiększających się obciążeń. Dokumentacja jest równie ważna, ponieważ pozwala na zrozumienie architektury i funkcji systemu, lecz nie wpływa na jego zdolność do obsługi większej ilości użytkowników. Zabezpieczenia przed błędami, takimi jak dzielenie przez zero, są kluczowe dla stabilności i bezpieczeństwa aplikacji, ale również nie mają związku z jej skalowalnością. Często występującym błędem myślowym jest zakładanie, że wszystkie aspekty jakości oprogramowania są ze sobą ściśle powiązane i mogą być używane zamiennie. W rzeczywistości, każdy z tych elementów stanowi niezależny komponent większej całości, a ich ocena wymaga różnorodnych podejść i technik testowania. Aby poprawnie ocenić skalowalność, należy skupić się na pomiarze wydajności w warunkach dużego obciążenia, co wymaga zastosowania specyficznych metodologii testowych, takich jak testy obciążeniowe oraz analizę wydajności systemu w realnych scenariuszach użytkowania.

Pytanie 9

W języku JavaScript, by zmodyfikować wartość atrybutu elementu HTML, po uzyskaniu obiektu za pomocą metody getElementById należy użyć

A. pola attribute oraz wskazać nazwę atrybutu
B. metody getAttribute
C. pola innerHTML
D. metody setAttribute
Wykorzystanie pola innerHTML do zmiany atrybutów elementów HTML może prowadzić do wielu problemów i nieefektywności. Pole to służy do modyfikacji zawartości wewnętrznej elementu, a jego użycie w kontekście zmiany atrybutów nie jest zalecane. Przykładowo, przypisując nową wartość do innerHTML, można przypadkowo nadpisać całą zawartość elementu, co skutkuje utratą innych atrybutów oraz zdarzeń powiązanych z tym elementem. Z kolei metody getAttribute oraz setAttribute mają różne zastosowania: getAttribute odczytuje wartość atrybutu, ale nie zmienia go. Zastosowanie metody attribute, która nie istnieje w standardzie DOM, może prowadzić do nieporozumień i błędów w kodzie. Często błędne podejście do manipulacji atrybutami wynika z braku zrozumienia, jak działa model DOM i jak można go efektywnie wykorzystywać w JavaScript. W praktyce, zamiast używać metod, które nie są przeznaczone do danego zadania, warto sięgnąć po metody dostosowane do manipulacji atrybutami, co zwiększa czytelność i stabilność kodu. W efekcie, zrozumienie różnicy między różnymi metodami i ich zastosowaniem jest kluczowe dla prawidłowego zarządzania elementami na stronie.

Pytanie 10

Którego znacznika NIE NALEŻY umieszczać w nagłówku dokumentu HTML?

A. <h2>
B. <meta>
C. <title>
D. <link>
Odpowiedź <h2> jest trafna, bo ten znacznik jest właśnie do nagłówków w HTML. Powinien być używany w sekcji <body>, nie w <head>. Jak dobrze wiesz, nagłówki, czyli <h1> do <h6>, mają spore znaczenie w organizacji tekstu i hierarchii, co wpływa później na SEO i dostępność strony. Dzięki <h2> możesz dodać podtytuł, co sprawia, że tekst jest bardziej przejrzysty i łatwiejszy do zrozumienia. Stosowanie nagłówków w odpowiedni sposób to ważna zasada, żeby dokument miał sens i był logicznie poukładany. Warto też wiedzieć, że znaczniki takie jak <link>, <meta> i <title> są super ważne dla strony, ale pełnią inne funkcje niż nagłówki. Więc ogólnie rzecz biorąc, fajnie, że to rozumiesz!

Pytanie 11

Wskaż sposób, w jaki należy odwołać się do pliku default.css, jeśli index.html znajduje się bezpośrednio w katalogu Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
B. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
C. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
D. <link rel="stylesheet" type="text/css" href="./style/default.css" />
Błędne odpowiedzi w tym pytaniu wynikają z niewłaściwego użycia ścieżek do plików. Dwie z błędnych odpowiedzi sugerują użycie ścieżki bezwzględnej do pliku (rozpoczynającej się od 'c:/' lub 'c:\'), co nie jest zalecane, ponieważ takie ścieżki są specyficzne dla konkretnego systemu plików i mogą nie działać w innych środowiskach. Ponadto jedna z błędnych odpowiedzi sugeruje użycie nieprawidłowej składni ('...\') do odwołania się do pliku. Dobrą praktyką jest zawsze korzystanie ze ścieżek względnych podczas odwoływania się do plików w HTML, ponieważ są one uniwersalne i niezależne od systemu plików. Pamiętaj, że właściwe zarządzanie ścieżkami do plików i organizacja plików w strukturze katalogu to klucz do skutecznego i efektywnego kodowania.

Pytanie 12

W formularzu dokumentu PHP znajduje się pole <input name="im">. Po tym, jak użytkownik wprowadzi ciąg znaków "Janek", aby dodać zawartość tego pola do bazy danych, w tablicy $_POST obecny jest element

A. im z indeksem Janek
B. im z następnym numerem indeksu
C. Janek o indeksie im
D. Janek z następnym numerem indeksu
W analizowanym pytaniu niepoprawne odpowiedzi wskazują różne błędne koncepcje dotyczące działania PHP i struktury tablicy $_POST. Przede wszystkim, w systemach opartych na PHP, po przesłaniu formularza, wartości pól formularza są przekazywane do tablicy $_POST, gdzie klucze odpowiadają nazwom pól w formularzu, a ich wartości odpowiadają użytkownikowi wprowadzonym danym. Odpowiedzi sugerujące, że "im" może mieć inny typ indeksu, jak "Janek" lub numer indeksu, są nieprecyzyjne i mylące. Klucz w tablicy $_POST to nazwa pola, co oznacza, że jest stały i niezmienny, niezależnie od wartości, którą użytkownik wprowadza. Ponadto, odpowiedzi, które sugerują istnienie "kolejnego numeru indeksu", mogą prowadzić do błędnego rozumienia konceptu tablic asocjacyjnych w PHP. Tablice asocjacyjne działają na zasadzie klucz-wartość, co oznacza, że klucz (w tym wypadku "im") jest zawsze powiązany z jedną wartością (tu: "Janek"). Błędne myślenie może również wynikać z nieznajomości podstaw PHP, gdzie wiele osób myli pojęcia klucza i wartości lub nie rozumie, że klucz jest stały i determinowany przez atrybut "name" w formularzu, a nie przez wartość wprowadzoną przez użytkownika. Zrozumienie tej zasadniczej różnicy jest kluczowe dla prawidłowego przetwarzania danych w formularzach oraz budowy bezpiecznych aplikacji webowych.

Pytanie 13

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

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

Pytanie 14

Przemiana kodu źródłowego wykonanego przez programistę w zrozumiały dla maszyny kod maszynowy to

A. kompilowanie
B. analizowanie błędów
C. wykonywanie
D. wdrażanie
Kompilowanie to kluczowy proces w inżynierii oprogramowania, który polega na przekształceniu kodu źródłowego napisanego w języku wysokiego poziomu (takim jak C++, Java czy Python) na kod maszynowy zrozumiały dla komputera. Proces ten jest krytyczny, ponieważ komputery nie są w stanie interpretować kodu źródłowego bezpośrednio. Kompilator przeprowadza analizę syntaktyczną i semantyczną kodu, optymalizuje go, a następnie generuje kod maszynowy. W praktyce, kompilacja pozwala na wykrycie błędów w kodzie przed jego uruchomieniem, co jest zgodne z najlepszymi praktykami programistycznymi. Kompilatory często oferują dodatkowe narzędzia, takie jak debugery, które umożliwiają programistom śledzenie błędów w kodzie. W kontekście dużych projektów, dobrym podejściem jest również wykorzystanie systemów CI/CD, które automatyzują proces kompilacji i testowania, co znacząco przyspiesza cykl rozwoju oprogramowania oraz zwiększa jego jakość.

Pytanie 15

W formularzu zdefiniowano kontrolki do wpisania imienia i nazwiska. Który atrybut reprezentuje podpowiedź umiejscowioną w polu kontrolki, znikającą w momencie, gdy użytkownik rozpocznie wpisywanie wartości?

<label for="imie">Imię: </label>
<input id="imie" value="Wpisz dane" title="Wpisz imię"><br>
<label for="nazw">Nazwisko: </label>
<input id="nazw" placeholder="Wpisz dane" title="Wpisz nazwisko">
A. title
B. value
C. placeholder
D. for
Wybrałeś niepoprawną odpowiedź. Atrybut 'placeholder' w elemencie input HTML jest używany do wyświetlania podpowiedzi wewnątrz pola formularza, która znika, gdy użytkownik zaczyna wpisywanie danych. Inne atrybuty, takie jak 'title', 'value' i 'for', mają inne zastosowania. Atrybut 'title' służy do dodawania etykietki wyświetlanej po najechaniu kursorem na element, a nie do wyświetlania podpowiedzi w polu formularza. Atrybut 'value' określa domyślną wartość pola formularza, a nie podpowiedź dla użytkownika. Wreszcie, atrybut 'for' jest używany do powiązania etykiety z konkretnym polem input, a nie do wyświetlania podpowiedzi. Pamiętaj, że ważne jest zrozumienie, do czego służy każdy atrybut, aby móc skutecznie tworzyć interaktywne formularze HTML.

Pytanie 16

Wskaż fragment kodu CSS, który odpowiada układowi bloków 2 - 5, zakładając, że są one oparte na poniższym kodzie HTML.

Ilustracja do pytania
A. A
B. C
C. B
D. D
Niepoprawne odpowiedzi często wynikają z błędnego zrozumienia działania właściwości float oraz szerokości elementów w układzie blokowym. Float jest potężnym narzędziem które pozwala na pływające rozmieszczenie elementów ale wymaga precyzyjnego planowania aby uniknąć niepożądanych efektów takich jak elementy wychodzące poza przewidywane miejsca. Przy wyborze błędnych odpowiedzi można zauważyć że nieodpowiednie użycie float może prowadzić do nieprawidłowego wyświetlania bloków. Na przykład brak odpowiedniego ustawienia float left lub right dla niektórych bloków może skutkować ich przesunięciem poza zamierzony układ. Dodatkowo nieprawidłowe zarządzanie szerokością bloków może spowodować że układ przekroczy dostępny obszar wyświetlania co szczególnie jest problematyczne w responsywnym projektowaniu stron. Typowym błędem jest również brak uwzględnienia clearfix co może prowadzić do nieprawidłowego przepływu kolejnych elementów w układzie. Zrozumienie jak float wpływa na otaczające elementy oraz jak kontrolować szerokość i przepływ elementów jest kluczowe w tworzeniu stabilnych i przewidywalnych układów stron internetowych. Poprawne zastosowanie tych zasad jest kluczowe dla zgodnego z dobrymi praktykami projektowania stron które są nie tylko estetyczne ale i funkcjonalne w różnych kontekstach urządzeń i środowisk użytkownika.

Pytanie 17

Kolor zapisany w systemie RGB, o wartościach rgb(255,128,16), jaki będzie miał odpowiednik w kodzie szesnastkowym?

A. #008010
B. #ff8011
C. #ff8010
D. #ff0f10
Odpowiedzi, które nie są poprawne, można analizować pod kątem błędów w konwersji wartości RGB na format szesnastkowy. W pierwszym przypadku, kolor zapisany jako #008010 nie odpowiada podanym wartościom RGB, ponieważ składowa czerwonego ma wartość 0 zamiast 255, co sprawia, że kolor ten jest odcieniem zieleni, a nie pomarańczowym. Kolejną niepoprawną odpowiedzią jest #ff0f10, w której składowa zielona wynosi 0, zamiast 128. W efekcie otrzymujemy kolor dominujący w czerwieni z odrobiną niebieskiego, co nie odpowiada oryginalnemu kolorowi. Ostatnia niepoprawna odpowiedź, #ff8011, różni się jedynie w ostatniej cyfrze od poprawnej odpowiedzi. Zwiększenie wartości niebieskiej do 11 zamiast 10 prowadzi do niewłaściwego odcienia, ponieważ zmienia balans kolorów i nie odwzorowuje oryginalnego koloru RGB. Wszystkie te błędy ilustrują znaczenie dokładności w konwersji wartości kolorów, co jest kluczowe w projektowaniu graficznym i webowym.

Pytanie 18

Jakie funkcje w języku PHP umożliwiają weryfikację wartości oraz typu zmiennej?

A. implode()
B. var_dump()
C. strlen()
D. readfile()
Pozostałe funkcje, takie jak readfile(), implode() oraz strlen(), nie są przeznaczone do sprawdzania wartości i typu zmiennych w PHP, co czyni je niewłaściwymi odpowiedziami w kontekście postawionego pytania. readfile() służy do odczytu zawartości pliku i wysłania jej bezpośrednio do wyjścia standardowego, co czyni ją narzędziem do pracy z plikami, a nie do analizy zmiennych. Funkcja ta jest wykorzystywana głównie w kontekście serwisów internetowych do generowania plików do ściągnięcia lub wyświetlania ich zawartości, a zatem nie spełnia roli analitycznej. implode() to funkcja, która łączy elementy tablicy w jeden ciąg znaków, co również nie ma związku z oceną typów lub wartości zmiennych. Jej głównym zastosowaniem jest manipulacja danymi tekstowymi, co sprawia, że jest użyteczna w innych kontekstach, ale nie w analizie zmiennych. Z kolei strlen() oblicza długość łańcucha znaków, zwracając liczbę znaków w danym ciągu, co jest użyteczne w kontekście walidacji danych lub ich przetwarzania, ale nie dostarcza informacji o typie czy wartości zmiennej. W tym kontekście każda z tych funkcji ma swoje specyficzne zastosowania, jednak żadna z nich nie jest odpowiednia do bezpośredniego sprawdzania typu oraz wartości zmiennej, co czyni je błędnymi odpowiedziami na postawione pytanie.

Pytanie 19

ID_PracownikaNazwiskoImięStanowiskoWynagrodzenie
1KowalskiKrzysztofkasjer3215,76
2NowakAntonikierownik5350,00
3ZającAlicjaksięgowy4568,70
4KrólWitoldkasjer3045,00
5NowikGrzegorzkasjer2750,65
6KotulskiAndrzejkierowca3467,00
7TutkaKatarzynakierownik4935,33
8PoradaJakubmagazynier3321,56
Które zapytanie SQL należy wykonać na tabeli Pracownicy, aby otrzymać średnie wynagrodzenie dla pracownika na stanowisku kasjer?
A. SELECT AVG(kasjer.Wynagrodzenie) FROM Pracownicy;
B. SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy;
C. SELECT AVG(Wynagrodzenie) FROM Pracownicy WHERE Stanowisko='kasjer';
D. SELECT SUM(*) FROM Pracownicy AND Stanowisko= 'kasjer';
W tym zadaniu widać kilka typowych pułapek związanych z pisaniem zapytań SQL, zwłaszcza przy funkcjach agregujących. Kluczowa rzecz: jeśli chcemy policzyć średnie wynagrodzenie dla konkretnego stanowiska, to zawsze musimy połączyć poprawną funkcję agregującą z poprawnym filtrowaniem danych. Standard SQL definiuje funkcję AVG() do liczenia średniej, SUM() do sumowania, COUNT() do liczenia wierszy i tak dalej. Nie ma natomiast funkcji o nazwie SREDNIA, bo to byłaby już jakaś specyficzna, niestandardowa funkcja w danej bazie (a w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle po prostu jej nie ma). Częsty błąd to próba używania nazwy stanowiska jakby była nazwą tabeli lub aliasu, np. coś w stylu AVG(kasjer.Wynagrodzenie). Tu „kasjer” nie jest ani aliasem tabeli, ani osobną tabelą, tylko wartością tekstową w kolumnie Stanowisko. W SQL nie można w ten sposób „kropkować” wartości. Do filtrowania służy klauzula WHERE: Stanowisko='kasjer'. Kolejna rzecz to używanie SUM(*) czy innych funkcji w połączeniu z AND w niewłaściwym miejscu. Wyrażenie typu SELECT SUM(*) FROM Pracownicy AND Stanowisko='kasjer'; jest po prostu składniowo błędne. Warunki logiczne AND, OR, NOT zawsze trafiają do części WHERE lub JOIN ON, a nie między nazwę tabeli a funkcję agregującą. Inny typowy błąd myślowy to mieszanie logiki zapytania: ktoś próbuje jednocześnie pisać coś w rodzaju SELECT SREDNIA(Wynagrodzenie) AND Stanowisko='kasjer' FROM Pracownicy; jakby można było w jednym miejscu łączyć funkcję i warunek. SQL ma jasno rozdzielone sekcje: SELECT (co zwracamy), FROM (z jakiej tabeli), WHERE (jak filtrujemy), opcjonalnie GROUP BY, HAVING, ORDER BY. Warunek filtrowania nie pojawia się w środku listy wybieranych kolumn, tylko w WHERE. Z mojego doświadczenia wynika, że jak ktoś zaczyna poprawnie myśleć o kolejności wykonywania zapytania (najpierw FROM, potem WHERE, potem agregacja), to takie błędy po prostu znikają. Dobrą praktyką jest też, zanim użyje się funkcji agregującej, zadać sobie pytanie: na jakim dokładnie podzbiorze danych chcę tę funkcję zastosować? I właśnie ten podzbiór trzeba opisać w WHERE.

Pytanie 20

W standardzie HDTV wykorzystywana jest rozdzielczość

A. 704 x 576 px
B. 1280 x 1024 px
C. 1920 x 1080 px
D. 720 x 480 px
Rozdzielczość 1920 x 1080 px jest standardem w technologii HDTV, znanym również jako Full HD. Oznacza to, że obraz składa się z 1920 pikseli w poziomie i 1080 pikseli w pionie, co daje łącznie ponad 2 miliony pikseli. Taki poziom rozdzielczości zapewnia wyraźny i szczegółowy obraz, co jest szczególnie ważne w kontekście nowoczesnych mediów wizualnych, takich jak filmy, transmisje telewizyjne oraz gry komputerowe. Standard HDTV ma kluczowe znaczenie w branży filmowej i telewizyjnej, ponieważ umożliwia osiągnięcie wysokiej jakości obrazu potrzebnej do pełnego doświadczenia wizualnego. Warto zaznaczyć, że wiele nowoczesnych urządzeń, takich jak telewizory, projektory i monitory, jest dostosowanych do odtwarzania w tej rozdzielczości, co czyni ją standardowym wyborem w domowych i profesjonalnych zastosowaniach. Zastosowanie Full HD jest szerokie; obejmuje transmisje sportowe, filmy akcji oraz produkcje artystyczne, gdzie szczegóły obrazu mają kluczowe znaczenie dla odbioru.

Pytanie 21

Jaką maksymalną liczbę znaczników &lt;td&gt; można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, która nie zawiera złączeń między komórkami oraz wiersza nagłówkowego?

A. 12
B. 3
C. 6
D. 9
Odpowiedź 9 jest poprawna, ponieważ w tabeli składającej się z trzech kolumn i trzech wierszy, każdy wiersz może zawierać trzy komórki danych. Zatem, aby obliczyć maksymalną liczbę znaczników &lt;td&gt;, należy pomnożyć liczbę kolumn przez liczbę wierszy: 3 kolumny x 3 wiersze = 9 znaczników &lt;td&gt;. Ważne jest, aby pamiętać, że w kontekście HTML, znacznik &lt;td&gt; służy do definiowania komórek tabeli i jest używany tylko do umieszczania danych w tabeli. Przy projektowaniu tabel w HTML, dobrym rozwiązaniem jest stosowanie przejrzystej struktury oraz odpowiednich znaczników, aby poprawić czytelność i dostępność stron. Zgodnie z dobrymi praktykami, zawsze warto używać znaczników &lt;th&gt; do nagłówków kolumn, ale w tym przypadku, zgodnie z treścią pytania, zakładamy, że nie stosujemy wiersza nagłówkowego. W efekcie maksymalna liczba komórek, które można wykorzystać w takiej tabeli, wynosi 9. Przykładem zastosowania takiej tabeli może być wyświetlanie danych o produktach, gdzie każda komórka zawierać może różne informacje, takie jak nazwa produktu, cena i ilość.

Pytanie 22

Wykonanie zapytania SQL spowoduje skasowanie

DELETE FROM mieszkania WHERE status = 1;
A. rekordów, w których wartość pola status jest równa 1, z tabeli mieszkania
B. tabel, w których wartość pola status wynosi 1, z bazy danych mieszkania
C. tabeli mieszkania znajdującej się w bazie danych
D. elementów o nazwie status z tabeli mieszkania
Odpowiedź wskazująca na usunięcie rekordów, w których pole status jest równe 1, z tabeli mieszkania jest poprawna ponieważ w zapytaniu SQL użyto składni DELETE, która jest odpowiedzialna za usuwanie danych z określonej tabeli. W kontekście tego zapytania, po słowie 'FROM' znajduje się nazwa tabeli, czyli 'mieszkania', a warunek 'WHERE status = 1' precyzuje, które rekordy mają zostać usunięte. Przykładowo, jeśli w tabeli mieszkania znajdują się mieszkania oznaczone jako dostępne (status = 1), to po wykonaniu tego zapytania wszystkie takie mieszkania zostaną trwale usunięte z bazy danych. Ważne jest, aby przed wykonaniem zapytania DELETE rozważyć konieczność wykonania kopii zapasowej danych, aby zapobiec ich nieodwracalnej utracie. Dobrą praktyką jest również stosowanie zapytania SELECT z tym samym warunkiem, aby najpierw zweryfikować, które rekordy zostaną usunięte. Tego rodzaju podejście umożliwia lepsze zarządzanie danymi oraz redukuje ryzyko pomyłek podczas operacji na bazach danych.

Pytanie 23

W kodzie HTML kolor biały można reprezentować przy użyciu wartości

A. rgb (FF, FF, FF)
B. #000000
C. rgb(255, 255, 255)
D. #255255
Wartości #000000 i #255255 oraz rgb(FF, FF, FF) są nieprawidłowe w kontekście definiowania koloru białego. Zaczynając od pierwszej, #000000 to kod szesnastkowy odpowiadający czarnemu, gdzie wszystkie składniki koloru (czerwony, zielony, niebieski) mają wartość 0, co skutkuje brakiem światła i widzeniem czerni. Typowym błędem jest myślenie, że składniki koloru muszą być wyrażane w systemie szesnastkowym, a nie w zakresie od 0 do 255, co wprowadza w błąd w kontekście RGB. Z kolei #255255 nie jest poprawnym kodem szesnastkowym, ponieważ wartości kolorów w systemie szesnastkowym muszą być w zakresie od 00 do FF dla każdego z kolorów, co oznacza, że każda para cyfr szesnastkowych musi mieścić się w tym zakresie. Zresztą, nie można mieć wartości powyżej 255 w modelu RGB. Przy odpowiedzi rgb(FF, FF, FF) również pojawia się problem, ponieważ wartości w funkcji rgb() powinny być wartościami liczbowymi, a nie szesnastkowymi. Często błędne jest mylenie zapisów szesnastkowych z zapisami liczbowymi, co prowadzi do nieprawidłowych wniosków. Dlatego tak istotne jest zrozumienie różnic w sposobie reprezentacji kolorów oraz stosowanie odpowiednich praktyk przy definiowaniu kolorów w HTML i CSS.

Pytanie 24

Język JavaScript wspiera

A. funkcje wirtualne
B. obiekty DOM
C. abstrakcyjne klasy
D. wysyłanie ciastek z identycznymi informacjami do wielu użytkowników strony
Wybór jednej z pozostałych opcji może wynikać z nieporozumienia dotyczącego podstawowych koncepcji programowania w JavaScript. Funkcje wirtualne, które są bardziej charakterystyczne dla języków programowania obiektowego, takich jak C++ czy Java, nie mają zastosowania w JavaScript, który nie wspiera klasycznej hierarchii klas w taki sposób, jak te języki. W JavaScript funkcje są obiektami, a prototypowe dziedziczenie jest kluczowym mechanizmem, co często prowadzi do mylnej interpretacji koncepcji klas abstrakcyjnych. JavaScript nie definiuje klas abstrakcyjnych w tradycyjnym sensie, chociaż od ES6 wprowadzono wsparcie dla klas. Co więcej, idea wysyłania ciastek z tą samą informacją do wielu klientów nie jest bezpośrednio związana z językiem JavaScript, lecz z mechanizmami serwerowymi oraz strukturyzowaniem danych w aplikacjach webowych. Często popełniane błędy myślowe dotyczą zrozumienia ról różnych technologii webowych i ich interakcji. JavaScript działa głównie po stronie klienta, a jego integracja z serwerami odbywa się zazwyczaj za pomocą protokołu HTTP, w którym ciasteczka są jednym z wielu elementów zarządzania stanem użytkownika. Zrozumienie roli DOM w kontekście JavaScript jest kluczowe do tworzenia efektywnych i interaktywnych aplikacji, co podkreśla znaczenie tej koncepcji w codziennym programowaniu.

Pytanie 25

Zamieszczone zapytanie SQL przyznaje prawo SELECT:

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';
A. do wszystkich kolumn w tabeli hurtownia
B. dla użytkownika root na serwerze sprzedawca
C. dla użytkownika root na serwerze localhost
D. do wszystkich tabel w bazie hurtownia
Polecenie GRANT SELECT ON hurtownia.* TO sprzedawca@localhost; jest często źle interpretowane co prowadzi do błędnego przypisania uprawnień. Częstym problemem jest mylne przekonanie, że przyznanie uprawnień do wszystkich pól w tabeli oznacza to samo co do wszystkich tabel. Symbol * w poleceniu odnosi się do wszystkich tabel w bazie hurtownia a nie do wszystkich pól pojedynczej tabeli. To ważne rozróżnienie wpływa na sposób przyznawania i zarządzania uprawnieniami w kontekście bezpieczeństwa i dostępu do danych. Błędna interpretacja że uprawnienie dotyczy użytkownika root jest wynikiem niezrozumienia konwencji dotyczącej składni SQL gdzie specyficzna definicja użytkownika pojawia się po słowie TO w naszym przypadku jest to sprzedawca@localhost. To wyklucza użytkownika root z opcji możliwych odbiorców tego uprawnienia. Warto zwrócić uwagę że identyfikacja użytkownika sprzedawca@localhost jednoznacznie określa użytkownika działającego z lokalnego serwera a nie z dowolnego hosta co jest istotne z punktu widzenia bezpieczeństwa systemu. Zrozumienie tych niuansów jest kluczowe dla efektywnego zarządzania bazami danych i ochrony przed nieautoryzowanym dostępem. W praktyce przyznanie uprawnień powinno być starannie rozważone i dostosowane do potrzeb zgodnie z zasadą najmniejszych uprawnień co minimalizuje ryzyko błędów i nadużyć systemowych.

Pytanie 26

Znacznik <i> w języku HTML ma na celu

A. ustalenie nagłówka w treści
B. dodanie grafiki
C. określenie formularza
D. zmianę czcionki na kursywę
Znacznik <i> jest często mylony z innymi elementami HTML, które pełnią różne funkcje w strukturze dokumentu. Na przykład, umieszczanie obrazków w HTML realizuje się za pomocą znacznika <img>, który jest przeznaczony wyłącznie do wyświetlania grafiki, a jego atrybuty, takie jak 'src' i 'alt', są kluczowe dla poprawnej nawigacji i dostępności. Używanie <i> w tym kontekście mogłoby prowadzić do mylnej interpretacji, ponieważ jego funkcja nie obejmuje wizualizacji obrazów, lecz skupia się na formacie tekstu. Z kolei definiowanie formularzy odbywa się głównie przy użyciu znaczników takich jak <form>, <input>, <select>, co pozwala na interakcję użytkowników z witryną. Pominięcie tych specyficznych znaczników i zastąpienie ich <i> może prowadzić do błędów w funkcjonalności strony. Natomiast zdefiniowanie nagłówka w tekście za pomocą znaczników, takich jak <h1>, <h2>, <h3>, jest niezbędne dla strukturyzacji treści, co ma wpływ na SEO oraz na przystosowanie strony dla technologii asystujących, które interpretują hierarchię treści. Często błędy w rozumieniu tych podstawowych znaczeń wynikają z braku wiedzy na temat semantyki HTML i różnorodności zastosowań dostępnych znaczników.

Pytanie 27

Jakie wyrażenie logiczne powinno być użyte w języku JavaScript, aby zastosować operacje tylko dla wszystkich liczb ujemnych z przedziału jednostronnie domkniętego <-200,-100)?

A. (liczba >=-200) && (liczba<-100)
B. (liczba >=-200) || (liczba>-100)
C. (liczba <=-200) || (liczba>-100)
D. (liczba <=-200) && (liczba<-100)
Jeśli chcesz wykonywać operacje tylko na liczbach ujemnych w przedziale od -200 do -100 w JavaScript, musisz użyć takiego wyrażenia: (liczba >= -200) && (liczba < -100). To wyrażenie łączy dwa warunki, co oznacza, że oba muszą być spełnione, żeby całość była prawdziwa. Pierwszy warunek mówi, że liczba musi być większa lub równa -200, a drugi, że musi być mniejsza niż -100. Tak definiujemy przedział, co jest zgodne z zasadami ECMAScript, na których oparty jest JavaScript. Dla przykładu, jeśli weźmiesz liczbę -150, to to wyrażenie zwróci prawdę, bo -150 jest w tym przedziale. Natomiast dla -250, wyrażenie zwróci fałsz, bo nie spełnia pierwszego warunku. Dzięki temu, programista ma pewność, że operacje wykonywane są jedynie na liczbach w danym przedziale. Takie zastosowanie można spotkać na przykład w walidacji danych w formularzach czy w filtracji danych w aplikacjach webowych.

Pytanie 28

Język JavaScrypt umożliwia obsługę

A. wysyłania ciastek z identycznymi informacjami do wielu klientów strony
B. obiektów DOM
C. klas abstrakcyjnych
D. funkcji wirtualnych
Obsługa funkcji wirtualnych nie jest częścią języka JavaScript, ponieważ ten język nie obsługuje typów i mechanizmów programowania obiektowego w sposób, w jaki robią to inne języki, takie jak C++ czy Java. JavaScript nie posiada koncepcji 'wirtualnych funkcji', które są charakterystyczne dla języków, które implementują mechanizmy dziedziczenia oparte na klasach. W JavaScript, programowanie obiektowe opiera się na prototypach, co oznacza, że obiekty mogą dziedziczyć właściwości i metody bez użycia wirtualnych funkcji, co czyni to pojęcie nieadekwatnym w kontekście tego języka. Ponadto, klasa abstrakcyjna jest także pojęciem, które jest źle zrozumiane w kontekście JavaScript. W rzeczywistości, JavaScript nie wspiera klas abstrakcyjnych w tradycyjnym sensie znanym z języków statycznie typowanych. Wprowadzenie klas w ECMAScript 6 dodało nową składnię, ale nie zmieniło fundamentalnej natury języka. JavaScript nie wymusza implementacji metod w klasach pochodnych, co jest kluczowym aspektem klas abstrakcyjnych. Wreszcie, kwestia wysyłania ciastek z tą samą informacją do wielu klientów stron internetowych odnosi się bardziej do mechanizmów serwerowych i zarządzania sesjami niż do samego języka JavaScript. JavaScript działa głównie po stronie klienta, a ciasteczka są zarządzane przez przeglądarki internetowe, gdzie mogą być ustalane przez skrypty, ale samo wysyłanie ciasteczek do klientów nie jest bezpośrednio związane z jego funkcjonalnością. Te aspekty techniczne ukazują, dlaczego podane odpowiedzi nie są poprawne w kontekście pytania o obsługę JavaScript.

Pytanie 29

Na ilustracji przedstawiono strukturę bloków na stronie internetowej. Który z poniższych fragmentów CSS odpowiada takim ustawieniom? (Dla uproszczenia pominięto właściwości dotyczące koloru tła, wysokości oraz czcionki)

Ilustracja do pytania
A. #pierwszy {float:left; width:30%; } #drugi {clear:both; width:70%; } #trzeci {float:left; width:70%; } #czwarty {clear:both; }
B. #pierwszy { width: 30%; } #drugi { width: 70%; } #trzeci { width: 70%; } #czwarty { width: 100%; }
C. #pierwszy{float:left; width:30%;} #drugi {clear:both; width:70%;} #trzeci {clear:both; width:70%;} #czwarty {float:left; width:100%;}
D. #pierwszy {float:left; width:30%;} #drugi {float:left; width:70%;} #trzeci {float:left; width:70%;} #czwarty {clear:both; }
Odpowiedź pierwsza jest prawidłowa, gdyż prawidłowo wykorzystuje właściwość float w stylach CSS, aby uzyskać pożądany układ bloków na stronie internetowej. Float pozwala elementom przemieszczać się na lewą lub prawą stronę kontenera, co jest kluczowe w tworzeniu layoutów. W tym przypadku #pierwszy, #drugi i #trzeci mają ustawione float:left, co umożliwia ich równoległe ustawienie w poziomie aż do momentu, gdy szerokości kontenera są zapełnione. Następnie blok #czwarty wymaga clear:both, aby przemieszczać się poniżej wszystkich poprzednich elementów z ustawionym float. To powszechna technika stosowana w projektowaniu responsywnych układów stron, gdzie równoległe pozycjonowanie elementów pozwala na efektywne wykorzystanie przestrzeni. Float w połączeniu z odpowiednimi szerokościami procentowymi pomaga tworzyć elastyczne projekty, które dobrze skalują się na różnych urządzeniach, co jest zgodne z nowoczesnymi standardami web developmentu. Ponadto zrozumienie działania float i clear jest fundamentem przy tworzeniu klasycznych layoutów typu grid przed wprowadzeniem nowoczesnych rozwiązań takich jak Flexbox czy CSS Grid, co pokazuje zrozumienie podstawowych zasad CSS.

Pytanie 30

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. DELETE, INSERT, UPDATE
B. SELECT, SELECT INTO
C. ALTER, CREATE, DROP
D. DENY, GRANT, REVOKE
Odpowiedź DELETE, INSERT, UPDATE jest całkiem trafna, bo te polecenia są częścią DML, czyli Data Manipulation Language, w SQL-u. DML to zestaw komend do zarządzania danymi w bazach danych. Moim zdaniem, DELETE jest kluczowe, bo pozwala na usuwanie zbędnych rekordów, co pomaga utrzymać bazę w dobrym stanie. Z kolei INSERT to coś, co używamy do dodawania nowych wpisów do tabeli, co jest mega ważne, jeśli chodzi o zbieranie danych potrzebnych aplikacji. A UPDATE? No to już absolutnie istotna sprawa, bo z jego pomocą zmieniamy dane, które już są w bazie, co przydaje się na przykład przy aktualizacji informacji o użytkownikach czy produktach. Przykłady? Można użyć INSERT, żeby dodać nowego użytkownika do tabeli 'Users', DELETE, żeby pozbyć się nieaktywnych kont, a UPDATE, żeby zmienić e-mail jakiegoś użytkownika. Dobrym pomysłem jest też korzystanie z transakcji, bo zapewnia to lepszą integralność danych podczas operacji DML.

Pytanie 31

W języku SQL polecenie INSERT INTO

A. dodaje pola do tabeli.
B. wprowadza dane do tabeli.
C. dodaje tabelę.
D. aktualizuje rekordy określoną wartością.
Polecenie INSERT INTO w SQL służy dokładnie do tego, co wskazuje poprawna odpowiedź: do wprowadzania danych do istniejącej tabeli. W praktyce oznacza to dodanie nowego wiersza (rekordu) do tabeli, która ma już zdefiniowaną strukturę: kolumny, typy danych, klucze itp. Najprostszy przykład w standardowym SQL wygląda tak: INSERT INTO klienci (imie, nazwisko, email) VALUES ('Jan', 'Kowalski', '[email protected]'); Tutaj tabela klienci już istnieje, a polecenie tylko dopisuje nowy rekord. Moim zdaniem warto zapamiętać, że INSERT pracuje na danych, a nie na strukturze tabeli. Do tworzenia tabel służy CREATE TABLE, do zmiany struktury ALTER TABLE, a do modyfikacji istniejących rekordów UPDATE. W codziennej pracy z bazami danych INSERT INTO jest jednym z absolutnie podstawowych poleceń. Używa się go przy obsłudze formularzy rejestracji użytkownika, dodawaniu zamówień w sklepie internetowym, logowaniu zdarzeń w systemie (logi), czy zapisywaniu wyników pomiarów z czujników. Dobrą praktyką jest zawsze podawanie listy kolumn, do których wstawiamy dane, zamiast polegać na kolejności kolumn w tabeli. Dzięki temu kod SQL jest czytelniejszy i mniej podatny na błędy po zmianach w strukturze tabeli. Warto też wiedzieć, że istnieją różne warianty INSERT, np. INSERT ... SELECT (wstawianie danych na podstawie wyników zapytania), INSERT IGNORE czy INSERT ... ON CONFLICT/ON DUPLICATE KEY w konkretnych systemach (PostgreSQL, MySQL). To wszystko dalej jest ta sama rodzina poleceń: celem zawsze jest dodanie nowych rekordów, a nie modyfikacja starych czy zmiana schematu bazy. Z mojego doświadczenia, kto dobrze ogarnie różne formy INSERT, temu dużo łatwiej budować sensowne aplikacje bazodanowe.

Pytanie 32

Jaką technologię zaleca się przy budowie witryn WWW, aby użytkownicy bez umiejętności programistycznych mogli samodzielnie wprowadzać zmiany w treści bez kodowania?

A. SEO
B. FTP
C. CMS
D. SSL
Odpowiedź dotycząca CMS-a, czyli Systemu Zarządzania Treścią, jest okej, bo dzięki niemu ludzie mogą samodzielnie zarządzać treściami na stronach internetowych, nawet jeśli nie znają się na programowaniu. Systemy CMS, jak WordPress, Joomla czy Drupal, mają łatwe w obsłudze interfejsy, co sprawia, że dodawanie, edytowanie i usuwanie treści jest mega proste. To bardzo ważne, bo każdy chce, żeby jego strona była na bieżąco i dobrze widoczna w wyszukiwarkach. Dodatkowo, CMS-y często pozwalają na instalowanie różnych dodatków i szablonów, co daje większe możliwości i sprawia, że strona wygląda lepiej. Z mojego doświadczenia, to podejście bardzo się sprawdza, bo pozwala skupić się na tworzeniu fajnej treści, a nie na technicznych zawirowaniach związanych z zarządzaniem stroną.

Pytanie 33

Jakim poleceniem można uzyskać konfigurację serwera PHP, w tym dane takie jak: wersja PHP, system operacyjny serwera oraz wartości przedefiniowanych zmiennych?

A. phpcredits();
B. print_r(ini_get_all());
C. echo phpversion();
D. phpinfo();
Chociaż inne funkcje wymienione w pytaniu mogą dostarczać pewnych informacji o konfiguracji PHP, nie są one w stanie w pełni zastąpić funkcji phpinfo(). Funkcja print_r(ini_get_all()) zwraca tablicę wszystkich ustawień konfiguracyjnych PHP, ale nie prezentuje ich w formie przystosowanej do przeglądania w przeglądarce, jak ma to miejsce w przypadku phpinfo(). Jej zastosowanie ogranicza się głównie do debugowania w skryptach, a nie do oglądania pełnej konfiguracji w czytelnej formie. Z kolei funkcja phpcredits() wyświetla informacje o autorach PHP oraz jego historii, co jest interesujące z perspektywy edukacyjnej, ale nie dostarcza praktycznych informacji o bieżącej konfiguracji serwera. Z kolei echo phpversion() zwraca jedynie wersję PHP, co jest zbyt ograniczone, aby uzyskać pełen obraz ustawień serwera. Typowe błędy myślowe, które prowadzą do wyboru tych opcji, to przekonanie, że każda z tych funkcji może dostarczyć wystarczających informacji o konfiguracji serwera. Jednak w praktyce, dla pełnego wglądu w ustawienia i environment, phpinfo() pozostaje niezastąpionym narzędziem, które stanowi standard w branży programowania PHP.

Pytanie 34

Co oznacza jednostka ppi (pixels per inch)?

A. określa rozdzielczość obrazów rastrowych
B. określa rozdzielczość obrazów wektorowych
C. jest parametrem określającym rozdzielczość cyfrowych urządzeń wykonujących pomiary
D. określa rozdzielczości obrazów generowanych przez drukarki i plotery
Pojęcie ppi często miesza się z innymi jednostkami opisującymi jakość obrazu, dlatego łatwo o złe skojarzenia. Pixels per inch to parametr ściśle związany z grafiką rastrową, czyli taką, która składa się z siatki pikseli. W plikach rastrowych ppi określa gęstość tych pikseli na cal i wprost wpływa na postrzeganą ostrość oraz szczegółowość obrazu przy danym fizycznym rozmiarze. Jeśli ktoś łączy ppi głównie z drukarkami czy ploterami, to zahacza o sąsiednie pojęcie, ale nie to samo. Urządzenia drukujące opisuje się standardowo jednostką dpi (dots per inch), czyli ilością fizycznych punktów atramentu lub tonera nanoszonych na papier. Owszem, w praktyce pracy z drukiem trzeba brać pod uwagę zarówno ppi pliku rastrowego, jak i dpi drukarki, jednak są to dwa różne poziomy: ppi to właściwość obrazu, dpi to właściwość sprzętu. Z kolei traktowanie ppi jako parametru dowolnych cyfrowych urządzeń pomiarowych też jest mylące, bo w metrologii używa się zupełnie innych jednostek i opisów rozdzielczości, związanych raczej z precyzją przetworników A/C, zakresem czy błędem pomiaru. Ppi nie ma nic wspólnego z grafiką wektorową, ponieważ wektor opisuje kształty matematycznie (linie, krzywe, wypełnienia) i może być skalowany bez utraty jakości, bez przypisanego na stałe rastera pikseli. Dopiero w momencie rasteryzacji wektora do postaci bitmapy pojawia się znaczenie ppi. Typowy błąd myślowy polega na wrzuceniu do jednego worka wszystkich „rozdzielczości”: ekranu, drukarki, obrazu, wektora, sensora. W praktyce dobrze jest rozróżniać: ppi dla gęstości pikseli w obrazie rastrowym i na ekranie, dpi dla fizycznych punktów druku, a dla wektora raczej pojęcia takie jak rozmiar dokumentu w jednostkach fizycznych i ewentualna docelowa rozdzielczość eksportu do bitmapy.

Pytanie 35

W efekcie wykonania przedstawionego w ramce kodu JavaScript, zmienna x jest równa

Ilustracja do pytania
A. 11 i zostanie wypisana w konsoli przeglądarki internetowej.
B. 10 i zostanie wypisana w dokumencie HTML.
C. 10 i zostanie wypisana w głównym oknie przeglądarki internetowej.
D. 11 i zostanie wypisana w oknie popup.
W tym zadaniu łatwo się pomylić, bo miesza się tutaj kilka różnych sposobów wyprowadzania informacji w JavaScript i jednocześnie trzeba poprawnie zinterpretować działanie operatora inkrementacji. Kod wygląda niewinnie, ale kryje w sobie typowe pułapki: `var x = 10; x++; console.log(x);`. Kluczowe są dwa elementy: co robi `x++` oraz gdzie faktycznie pojawia się wynik działania programu. Zaczynając od wartości zmiennej: zapis `var x = 10;` nadaje zmiennej `x` wartość początkową 10. Potem pojawia się operator `x++`, czyli inkrementacja postfiksowa. W JavaScript (podobnie jak w wielu językach z rodziny C) `++` zwiększa wartość zmiennej o 1. Po wykonaniu tej instrukcji wewnętrzny stan programu się zmienia: `x` nie ma już wartości 10, tylko 11. Błędne odpowiedzi zakładają, że `x` pozostaje równe 10, co wynika zazwyczaj z nieuwagi albo z mylenia operatora przypisania `=` z porównaniem, albo z całkowitego pominięcia działania `x++`. Druga część problemu to miejsce wyświetlenia wyniku. Wiele osób odruchowo kojarzy JavaScript z `alert()` i oknami popup, albo z wypisywaniem czegoś bezpośrednio w HTML-u przez `document.write()`. Tymczasem w kodzie użyte jest `console.log(x);`. Ta funkcja nie pokazuje wyniku ani w oknie popup, ani w treści dokumentu, ani w głównym oknie przeglądarki. Zgodnie z praktyką programistyczną i dokumentacją przeglądarek, `console.log()` służy do logowania informacji w konsoli deweloperskiej (narzędziach programistycznych). To jest typowy mechanizm debugowania, niewidoczny dla zwykłego użytkownika strony. Mylenie `console.log()` z wyświetlaniem na stronie wynika często z tego, że ktoś patrzy tylko na efekt w trakcie nauki i nie rozróżnia warstwy interfejsu użytkownika od warstwy debugowania. W prawidłowym rozumieniu: wartość zmiennej zmienia się z 10 na 11 dzięki `x++`, a wynik jest kierowany do konsoli, a nie do HTML ani do popupu. Dlatego wszystkie odpowiedzi, które mówią o wartości 10 lub o innym miejscu wyświetlania niż konsola przeglądarki, są po prostu niezgodne z faktycznym działaniem tego fragmentu kodu.

Pytanie 36

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

A. Apache, PHP i MySQL
B. IIS, PERL i MySQL
C. Apache oraz PHP
D. PHP oraz MySQL
Wybór niewłaściwego środowiska dla Joomla! może prowadzić do nieprawidłowego działania całego systemu. W przypadku odpowiedzi zawierających IIS oraz PERL, istotne jest zrozumienie, że Joomla! nie jest zoptymalizowana do pracy z tymi technologiami. IIS to serwer WWW od Microsoftu, który jest mniej popularny w środowisku, w którym dominuje Joomla!. Wiele funkcji dostępnych w Joomla! może być utrudnionych lub wręcz niemożliwych do zrealizowania przy użyciu tego serwera, co skutkuje ograniczeniami w dostępnych wtyczkach i modułach. Z kolei PERL, jako język programowania, nie jest standardowo używany w kontekście Joomla!, co stanowi kolejną przeszkodę. Wybierając Apache i PHP, użytkownik korzysta z najczęściej używanych rozwiązań w ekosystemie PHP, co zapewnia szeroką bazę wsparcia oraz dokumentacji. Niezrozumienie, które technologie są wymagane do działania Joomla!, może prowadzić do błędnych decyzji, takich jak wybór nieodpowiedniego serwera, co z kolei wpływa na wydajność i bezpieczeństwo końcowego projektu. Kluczowe jest, aby przed rozpoczęciem pracy z systemem CMS, dokładnie zapoznać się z jego wymaganiami i dobrymi praktykami, co pomoże uniknąć podstawowych problemów oraz zapewni optymalny rozwój i zarządzanie witryną.

Pytanie 37

Polecenie DROP w języku SQL ma na celu

A. zmodyfikować parametry obiektu
B. zaktualizować dane obiektu
C. wprowadzić nowy obiekt
D. usunąć istniejący obiekt
Instrukcja DROP w języku SQL jest używana do usuwania istniejących obiektów z bazy danych, takich jak tabele, widoki, procedury składowane czy indeksy. Użycie tej komendy powoduje, że wszystkie dane przechowywane w danym obiekcie zostają trwale usunięte, co oznacza, że nie można ich odzyskać, chyba że wcześniej wykonano kopię zapasową. Przykładowa składnia polecenia DROP TABLE nazwa_tabeli usuwa całkowicie tabelę wraz z jej strukturą oraz danymi. W SQL standardowym oraz w jego implementacjach, takich jak MySQL, PostgreSQL czy SQL Server, instrukcja ta jest kluczowym narzędziem dla administratorów baz danych, pozwalającym na efektywne zarządzanie obiektami w bazach. Należy jednak stosować ją ostrożnie, ponieważ skutki wykonania tego polecenia są nieodwracalne. Rekomenduje się również, przed usunięciem obiektu, sprawdzenie, czy nie ma on powiązań z innymi obiektami, aby uniknąć błędów w aplikacjach korzystających z tych danych.

Pytanie 38

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_replace('Nowak','Kowalski');
B. $a = str_replace('Kowalski','Nowak',$a);
C. $a = str_rep('Kowalski','Nowak',$a);
D. $a = str_replace('Nowak', 'Kowalski',$a);
Odpowiedź jest prawidłowa, ponieważ funkcja str_replace w PHP jest przeznaczona do zastępowania wszystkich wystąpień określonego ciągu znaków innym ciągiem w danym tekście. W tym przypadku, używając str_replace('Kowalski','Nowak',$a), zmieniamy każde wystąpienie słowa 'Kowalski' na 'Nowak' w zmiennej a. Działa to dla wszystkich instancji, co czyni to podejście bardzo efektywnym w przypadkach, gdy musimy dokonać masowych zmian w tekstach. Jest to dobra praktyka, aby używać str_replace do takich operacji, ponieważ jest to funkcja wbudowana, zoptymalizowana pod kątem wydajności i czytelności kodu. Warto również pamiętać, że pierwszym parametrem jest ciąg, który chcemy zastąpić, drugim jest ciąg, na który go zamieniamy, a trzecim jest tekst, w którym dokonujemy zmiany. Zastosowanie tej funkcji jest powszechne w wielu zastosowaniach, na przykład w systemach CMS, gdzie często zachodzi potrzeba masowej edycji treści.

Pytanie 39

Jaki znacznik z sekcji head dokumentu HTML w wersji 5 jest wymagany przez walidator HTML i jego brak skutkuje zgłoszeniem błędu error?

A. title
B. style
C. link
D. meta
Znaczniki <link>, <meta> oraz <style> również pełnią ważne funkcje w sekcji <head>, jednak nie są one wymagane do poprawnej walidacji dokumentu HTML5. Znacznik <link> jest używany głównie do łączenia zewnętrznych arkuszy stylów oraz innych zasobów, a jego pominięcie w wielu przypadkach nie wpłynie na to, czy strona będzie poprawnie wyświetlana. Z kolei <meta> służy do definiowania metadanych, takich jak kodowanie znaków czy opis strony, ale również nie jest obowiązkowy. Znacznik <style> umożliwia wstawienie kodu CSS bezpośrednio do dokumentu HTML, jednak jego brak także nie skutkuje błędem walidacyjnym. Powszechnym błędem jest mylenie wymagań dla poszczególnych znaczników; niektórzy mogą sądzić, że wszystkie składniki sekcji <head> są równie istotne, co prowadzi do nieporozumień. Kluczowym aspektem jest zrozumienie, że standardy HTML określają, które elementy są niezbędne dla prawidłowego działania strony. Niezrozumienie tej różnicy może skutkować pominięciem ważnych elementów w procesie projektowania stron, co w konsekwencji obniża jakość i użyteczność tworzonej witryny. Ważne jest, aby przed rozpoczęciem pracy z HTML5 zapoznać się z dokumentacją oraz najlepszymi praktykami w tej dziedzinie.

Pytanie 40

Aby osiągnąć pokazany rezultat w programie graficznym wykorzystano

Ilustracja do pytania
A. gradient liniowy
B. kanał alpha
C. zmianę intensywności kolorów
D. gradient okrągły
Gradient liniowy to narzędzie stosowane w edytorach grafiki rastrowej do tworzenia płynnych przejść pomiędzy dwoma lub więcej kolorami w zadanym kierunku najczęściej poziomym lub pionowym. W praktyce gradient liniowy jest kluczowy w projektowaniu graficznym ponieważ pozwala na subtelne cieniowanie i nadawanie głębi elementom wizualnym. Przykładowo stosuje się go w tworzeniu tła logotypów czy też przycisków interfejsów użytkownika. Proces tworzenia gradientu liniowego opiera się na ustawieniu punktów początkowych i końcowych oraz przypisaniu im odpowiednich wartości kolorystycznych co podkreśla jego wszechstronność. Standardowym podejściem jest użycie gradientu liniowego w celu uzyskania efektu trójwymiarowości co jest zgodne z dobrymi praktykami projektowania UX i UI. W kontekście branżowym gradienty liniowe są nieodłącznym elementem narzędzi takich jak Adobe Photoshop czy GIMP gdzie umożliwiają manipulację barwą i luminancją co jest kluczowe w profesjonalnym edytowaniu obrazów.