Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik programista
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 13 kwietnia 2026 09:45
  • Data zakończenia: 13 kwietnia 2026 10:05

Egzamin zdany!

Wynik: 38/40 punktów (95,0%)

Wymagane minimum: 20 punktów (50%)

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

W języku PHP, podczas pracy z bazą danych MySQL, aby zakończyć sesję z bazą, powinno się użyć

A. mysqli_rollback()
B. mysqli_exit( )
C. mysqli_commit()
D. mysqli_close()
Odpowiedź 'mysqli_close()' jest poprawna, ponieważ ta funkcja służy do zamykania połączenia z bazą danych MySQL w PHP. Po zakończeniu operacji na bazie danych ważne jest, aby zwolnić zasoby, zwłaszcza w aplikacjach, które mogą otwierać wiele połączeń. Funkcja ta nie przyjmuje żadnych argumentów i jest niezwykle istotna, aby uniknąć wycieków pamięci oraz zapewnić, że wszystkie zasoby są odpowiednio zarządzane. Przykładowo, po zakończeniu wykonywania skryptu, który pobiera dane z bazy, można użyć mysqli_close($connection), gdzie $connection jest wcześniej utworzonym połączeniem. Zgodnie z najlepszymi praktykami programistycznymi, powinno się zamykać połączenia w momencie, gdy nie są już potrzebne. Należy również pamiętać, że pozostawienie otwartego połączenia może prowadzić do ograniczenia liczby dostępnych połączeń w serwerze MySQL, co w dłuższej perspektywie może wpływać na wydajność aplikacji.

Pytanie 2

W PHP typ float oznacza

A. typ zmiennoprzecinkowy
B. typ łańcuchowy
C. typ logiczny
D. typ całkowity
W języku PHP typ 'float' jest używany do reprezentacji liczb zmiennoprzecinkowych, co oznacza, że może on przechowywać liczby z częścią dziesiętną. Jest to kluczowy element programowania, ponieważ pozwala na bardziej precyzyjne obliczenia, które są niezbędne w wielu zastosowaniach, takich jak obliczenia finansowe czy analizy naukowe. Dzięki użyciu typu float, programiści mogą używać skomplikowanych algorytmów, które wymagają operacji na liczbach niecałkowitych. W praktyce, kiedy potrzebujemy obliczyć ceny z podatkiem lub odsetkami, użycie float pozwala na dokładniejsze wyniki niż w przypadku typów całkowitych. Należy również pamiętać, że przy pracy z typem float warto stosować funkcje takie jak round(), aby uniknąć problemów z precyzją wyników, które mogą wynikać z ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. Warto także zaznaczyć, że zgodnie z dokumentacją PHP, float jest zgodny z standardem IEEE 754, co zapewnia jego szeroką kompatybilność z innymi systemami oraz językami programowania.

Pytanie 3

Podaj słowo kluczowe w języku C++, które umieszczane przed wbudowanym typem danych, umożliwia przyjmowanie jedynie nieujemnych wartości liczbowych?

A. unsigned
B. const
C. long
D. short
Słowo kluczowe 'unsigned' w języku C++ jest używane do deklaracji zmiennych, które będą przechowywać tylko wartości nieujemne. Oznacza to, że zmienna zadeklarowana jako 'unsigned int' będzie miała zakres od 0 do 4 294 967 295 (dla 32-bitowej reprezentacji), co podwaja maksymalną wartość w porównaniu do standardowego 'int', który może przyjmować wartości od -2 147 483 648 do 2 147 483 647. Zastosowanie 'unsigned' jest szczególnie przydatne w sytuacjach, gdzie negatywne wartości nie mają sensu, jak w przypadku liczników, indeksów tablic czy operacji na bitach. Przykład zastosowania: w pętli for, gdy iterujemy przez elementy tablicy, możemy użyć 'unsigned int' dla indeksu, aby upewnić się, że nie przyjmiemy błędnej wartości indeksu, co mogłoby prowadzić do nieprzewidzianych błędów. W praktyce, stosowanie 'unsigned' wspiera bezpieczeństwo i integralność danych, a także zwiększa zakres wartości, które można przechowywać.

Pytanie 4

Przedstawiona jest tabela pracownicy, w której umieszczono rekordy widoczne obok. Jaką wartość zwróci wykonanie umieszczonej w ramce kwerendy SQL?

SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000;
idimienazwiskopensja
1AnnaKowalska3400
2MonikaNowak1300
3EwelinaNowakowska2600
4AnnaPrzybylska4600
5MariaKowal2200
6EwaNowacka5400
A. 2200
B. 2600
C. 1300
D. 5400
Kwerenda SQL SELECT MAX(pensja) FROM pracownicy WHERE pensja < 3000; służy do znalezienia maksymalnej wartości w kolumnie pensja z rekordów spełniających warunek pensja mniejsza niż 3000. Przeszukując tabelę pracownicy widzimy że wartości spełniające ten warunek to 1300 2600 i 2200. Najwyższą z tych wartości jest 2600 co czyni tę odpowiedź poprawną. Zrozumienie tego typu kwerend SQL jest kluczowe w pracy z bazami danych ponieważ pozwala na wyciąganie konkretnych informacji z dużych zbiorów danych. W praktyce takie zapytania mogą być używane do analizowania danych pracowniczych w firmach gdzie na przykład chcemy zidentyfikować pracowników z wynagrodzeniem poniżej określonego progu. Jest to zgodne z dobrymi praktykami w branży gdzie używa się agregacji danych do celów analitycznych. Zrozumienie jak działa funkcja MAX() w połączeniu z klauzulą WHERE umożliwia efektywne filtrowanie i przetwarzanie danych co jest niezbędne w wielu aplikacjach biznesowych.

Pytanie 5

Jakiego znacznika w HTML użyjemy, aby uzyskać tekst wyświetlany czcionką o stałej szerokości znaku, który również uwzględnia dodatkowe spacje, tabulacje oraz znaki końca linii?

A. <ins>…</ins>
B. <code>…</code>
C. <blockquote>…</blockquote>
D. <pre>…</pre>
Znacznik <pre> w HTML jest używany do formatowania tekstu w taki sposób, aby zachować oryginalne odstępy, tabulacje oraz znaki końca linii. W przeciwieństwie do standardowego tekstu, w którym przeglądarka ignoruje dodatkowe białe znaki, <pre> traktuje je dosłownie, co jest szczególnie przydatne w przypadku wyświetlania kodu źródłowego lub tekstu, w którym ważne są układy. Przykładem użycia może być wyświetlanie kodu programistycznego w dokumentacji technicznej, gdzie precyzyjny format jest kluczowy dla zrozumienia struktury kodu. Standard HTML5 potwierdza, że <pre> jest odpowiednim znacznikiem do tego celu, a jego użycie jest zgodne z zasadami semantyki HTML, co zwiększa czytelność i dostępność treści. Praktyka ta sprzyja również urządzeniom wspomagającym, umożliwiając poprawne interpretowanie tekstu przez czytniki ekranu.

Pytanie 6

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

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

Pytanie 7

Które zdarzenie języka JavaScript jest wyzwalane w momencie, gdy kursor myszy znajduje się na elemencie do którego jest przypisane?

A. onmouseout
B. onmouseup
C. onmouseover
D. onmousedown
Prawidłowa odpowiedź to onmouseover, bo właśnie to zdarzenie w JavaScript uruchamia się w momencie, kiedy kursor myszy *wchodzi* na dany element i znajduje się nad nim. Przeglądarka monitoruje położenie kursora i gdy tylko „najedziesz” na element z przypisanym zdarzeniem onmouseover, wywoływany jest podpięty handler, na przykład funkcja w JavaScript. W praktyce często używa się tego do tworzenia efektów typu podświetlanie przycisków, rozwijane menu, podpowiedzi (tooltips) albo lekkie animacje po najechaniu. Przykładowo: `<button onmouseover="this.style.backgroundColor='orange'">Najedź na mnie</button>` – w chwili najechania myszką kolor tła przycisku się zmienia. Moim zdaniem to jedno z bardziej podstawowych zdarzeń, które warto ogarnąć na początku nauki frontendu, bo pozwala szybko zrobić stronę bardziej „żywą”. W nowoczesnym kodzie raczej unika się pisania atrybutów typu onmouseover bezpośrednio w HTML i zamiast tego stosuje się `addEventListener("mouseover", handler)` w JavaScript. Jest to zgodne z dobrymi praktykami i oddziela logikę od struktury dokumentu. Warto też wiedzieć, że onmouseover różni się od onmouseenter: onmouseover propaguje się (bąbelkuje) w górę drzewa DOM, co ma znaczenie przy bardziej złożonych interfejsach. Standardowe API DOM dokładnie opisuje te różnice i przy projektowaniu interakcji dobrze jest świadomie wybierać odpowiedni typ zdarzenia. W typowych projektach webowych onmouseover jest używany głównie do prostych reakcji na najechanie, ale trzeba pamiętać, by nie przesadzać z efektami, żeby nie przeciążyć użytkownika i nie zepsuć użyteczności strony.

Pytanie 8

Którą technologię poleca się przy tworzeniu serwisów WWW, tak aby zmiany w treści można było wykonywać bez potrzeby ich kodowania, przez użytkowników bez kompetencji programistycznych?

A. CMS
B. SEO
C. FTP
D. SSL
Prawidłowa odpowiedź to CMS, czyli Content Management System – system zarządzania treścią. W praktyce chodzi o takie oprogramowanie (np. WordPress, Joomla, Drupal), które pozwala edytować stronę WWW przez przeglądarkę, bez dotykania kodu HTML, CSS czy PHP. Użytkownik loguje się do panelu administracyjnego, dostaje prosty edytor przypominający Worda i może dodawać newsy, podstrony, zdjęcia, pliki do pobrania. To dokładnie rozwiązuje problem opisany w pytaniu: zmiany w treści wykonują osoby nietechniczne, a programista przygotowuje tylko szablon i funkcjonalność. Moim zdaniem to jeden z kluczowych standardów w branży – praktycznie każdy profesjonalny serwis firmowy, portal informacyjny, blog czy sklep internetowy stoi na jakimś CMS-ie lub systemie pokrewnym (np. headless CMS). Dzięki temu rozdziela się warstwę prezentacji (frontend) od warstwy treści i logiki biznesowej. Dobra praktyka jest taka, żeby nie „twardo” wpisywać treści w pliki HTML/PHP, tylko trzymać je w bazie danych i udostępniać przez panel CMS. Upraszcza to utrzymanie, pozwala na wersjonowanie treści, pracę kilku redaktorów naraz, zarządzanie uprawnieniami, a nawet planowanie publikacji w czasie. Z mojego doświadczenia, dobrze wdrożony CMS to ogromna oszczędność czasu dla programistów – nie muszą oni za każdym razem poprawiać tekstu czy wymieniać obrazka, tylko skupiają się na rozwoju funkcji. Redaktorzy mogą bez stresu pracować na stagingu, sprawdzać podgląd, korzystać z szablonów bloków, a potem jednym kliknięciem opublikować treść. To też sprzyja zgodności z dobrymi praktykami SEO, bo wiele CMS-ów ma wbudowane moduły do ustawiania meta tagów, przyjaznych adresów URL czy mapy strony.

Pytanie 9

W sekcji nagłówka dokumentu HTML umieszczono ```Strona miłośników psów``` Zawarty tekst będzie widoczny

A. w treści witryny, w pierwszym ukazanym nagłówku
B. w polu adresowym, za wprowadzonym adresem URL
C. na pasku tytułu w przeglądarce
D. w treści witryny, na banerze witryny
Odpowiedź jest poprawna, ponieważ zawartość tagu <title> w kodzie HTML określa tytuł dokumentu, który jest wyświetlany na pasku tytułu przeglądarki. Tytuł ten jest kluczowym elementem SEO, ponieważ wpływa na sposób, w jaki użytkownicy postrzegają stronę w wynikach wyszukiwania. W praktyce, dobrze dobrany tytuł zwiększa szansę na kliknięcia i poprawia widoczność strony w internecie. Warto pamiętać, że tytuł powinien być krótki, zwięzły i zawierać najważniejsze słowa kluczowe, aby skutecznie komunikować, o czym jest strona. Dobre praktyki zalecają, aby długość tytułu nie przekraczała 60 znaków, aby uniknąć jego obcięcia w wynikach wyszukiwania. Dodatkowo, tytuł powinien być unikalny dla każdej podstrony, co ułatwia użytkownikom i wyszukiwarkom zrozumienie zawartości witryny.

Pytanie 10

Pętla zapisana w języku PHP wstawi do tablicy liczby:

$x = 0;
for ($i = 0; $i < 10; $i++)
{
    $tabl[$i] = $x;
    $x = $x + 10;
}
A. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
B. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
C. 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
D. 0, 10, 20, 30, 40, 50, 60, 70, 80, 90
Gratulacje, Twoja odpowiedź jest poprawna. Pętla zaczyna się od $x = 0 i wykonuje się 10 razy ($i od 0 do 9). W każdej rundzie pętli, do tablicy $tabl dodawana jest aktualna wartość $x, a następnie $x jest zwiększane o 10. To jest tzw. pętla for, która jest jednym z najbardziej podstawowych mechanizmów programowania. Dzięki tej pętli możemy kontrolować ilość iteracji, które chcemy wykonać. W tym przypadku, iteracja odbywa się 10 razy, za każdym razem inkrementując $x o 10. Niezależnie od tego, czy korzystasz z PHP, czy innego języka, konstrukcje pętli są niezwykle ważne i warto zrozumieć ich działanie. PHP, jak wiele innych języków programowania, posiada wiele różnych typów pętli - for, while, do-while, each, które mają swoje szczególne zastosowania w zależności od kontekstu.

Pytanie 11

Jak nazywa się proces, w trakcie którego identyfikuje się oraz eliminuje błędy w kodzie źródłowym aplikacji?

A. Normalizacja
B. Debugowanie
C. Kompilacja
D. standaryzacja
Debugowanie to proces, który polega na identyfikacji, analizie i usuwaniu błędów w kodzie źródłowym programów. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z zamierzonymi specyfikacjami. W praktyce debugowanie może obejmować różnorodne techniki, takie jak używanie narzędzi do analizy statycznej, wykonanie testów jednostkowych oraz korzystanie z debuggerów, które pozwalają na śledzenie wykonania kodu w czasie rzeczywistym. Dobre praktyki debugowania obejmują dokumentowanie napotkanych błędów, co może ułatwić ich ponowne wystąpienie oraz szybsze ich usunięcie w przyszłości. Debugowanie nie tylko poprawia jakość kodu, ale również ułatwia rozwój i utrzymanie oprogramowania, co jest zgodne z zasadami Agile i DevOps, gdzie ciągła integracja i dostarczanie są kluczowymi elementami procesu. W ten sposób debugowanie stanowi integralną część programowania, która wpływa na wydajność i stabilność tworzonych aplikacji.

Pytanie 12

Który z poniższych formatów plików graficznych wspiera przejrzystość?

A. JPG
B. NEF
C. BMP
D. PNG
Format PNG (Portable Network Graphics) jest jednym z najpopularniejszych formatów plików graficznych obsługujących przezroczystość. Jego główną zaletą jest możliwość zachowania kanału alfa, który umożliwia tworzenie obrazów z przezroczystymi elementami. PNG wykorzystuje bezstratną kompresję, co oznacza, że jakość obrazu nie ulega pogorszeniu podczas zapisywania i otwierania pliku. Format ten jest szczególnie ceniony w aplikacjach internetowych, ponieważ pozwala na uzyskanie estetycznych efektów, takich jak cienie, przezroczystość i delikatne przejścia kolorów. Warto również zauważyć, że PNG obsługuje głębię kolorów do 48 bitów, co umożliwia uzyskanie bogatych i szczegółowych obrazów. Standard PNG został opracowany w 1996 roku jako alternatywa dla formatu GIF, który był ograniczony do 256 kolorów oraz nie obsługiwał przezroczystości w sposób, który byłby zadowalający dla projektantów. Dzięki swoim właściwościom, PNG jest szeroko stosowany w grafice komputerowej, w tym w tworzeniu logo, ikon oraz w elementach interfejsów użytkownika, a także w fotografii cyfrowej, gdzie zachowanie jakości jest kluczowe.

Pytanie 13

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

A. zarządzanie plikami na dysku
B. zarządzanie bezpieczeństwem systemu
C. tworzenie, modyfikowanie, usuwanie oraz przywracanie bazy danych
D. wykonywanie wszelkich operacji na serwerze i posiadanie praw do każdej bazy
Rola dbcreator w MS SQL Server rzeczywiście pozwala użytkownikowi na tworzenie, modyfikowanie, usuwanie i odzyskiwanie baz danych. Użytkownicy, którzy mają przypisaną tę rolę, mogą łatwo zarządzać bazami danych w danym serwerze, co jest kluczowe w środowiskach, gdzie bazy danych muszą być regularnie aktualizowane lub tworzone od podstaw. Przykładowo, w przypadku rozwijania aplikacji biznesowej, programista może korzystać z tej roli do tworzenia nowych baz danych na potrzeby testów, co pozwala na szybkie wdrażanie oraz iterację w procesie rozwoju oprogramowania. W praktyce, przypisanie roli dbcreator powinno być stosowane z uwagą, aby ograniczyć do minimum dostęp do krytycznych operacji tylko dla zaufanych użytkowników. Dobre praktyki sugerują regularne przeglądanie i audyt przypisania ról oraz monitorowanie działań użytkowników, aby zapobiegać nieautoryzowanym zmianom w strukturze baz danych.

Pytanie 14

Aby wyszukać w tabeli Pracownicy tylko te nazwiska, które kończą się na literę "i", można zastosować kwerendę SQL

A. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i"
B. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%"
C. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%"
D. SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i"
Te odpowiedzi, które wybrałeś, mają niestety sporo błędów. W pierwszej odpowiedzi 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i%";' próbujesz znaleźć nazwiska, które zaczynają się na 'i', a nie kończą. To dość poważny błąd, bo operator LIKE działa różnie, w zależności od wzorca. W drugiej odpowiedzi 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "%i%";' szukasz nazwisk, gdzie 'i' jest gdziekolwiek, a nie tylko na końcu. To sprawia, że wyniki są znacznie szersze i nie odpowiadają temu, czego szukasz. Ostatnia odpowiedź, czyli 'SELECT nazwisko FROM Pracownicy WHERE nazwisko LIKE "i";', wymaga, żeby nazwisko było dokładnie 'i', co jest bardzo mało prawdopodobne. Często widzę, że ludzie mylą działanie wildcardów w SQL. Ważne jest, aby dobrze zrozumieć, jak używać wzorców, bo to pomaga w tworzeniu skutecznych kwerend.

Pytanie 15

Który z poniższych języków jest zazwyczaj używany do programowania front-endowego (wykonywanego po stronie klienta)?

A. CSS
B. Perl
C. PHP
D. Node.js
CSS, czyli Kaskadowe Arkusze Stylów, jest fundamentalnym językiem używanym do stylizacji stron internetowych. Jest to język front-endowy, co oznacza, że jego kod jest wykonywany po stronie klienta, czyli w przeglądarkach internetowych użytkowników. CSS pozwala na definiowanie wyglądu elementów HTML, takich jak kolory, czcionki, układ czy odstępy, co ma kluczowe znaczenie dla tworzenia atrakcyjnych i responsywnych interfejsów użytkownika. Przykładem może być zastosowanie CSS do stylizacji przycisku, gdzie można zmienić jego kolor, dodać cień oraz animacje przy najechaniu myszką. W standardach webowych CSS współpracuje z HTML oraz JavaScript, co zapewnia dynamiczne i interaktywne doświadczenia. Dobry projektant front-endowy powinien znać zasady związane z kaskadowością i dziedziczeniem w CSS, aby optymalnie wykorzystywać ten język do tworzenia estetycznych i użytecznych stron internetowych.

Pytanie 16

W znaczniku meta w miejsce kropek należy wpisać

Ilustracja do pytania
A. streszczenie treści strony
B. nazwa edytora
C. język dokumentu
D. informację o dostosowaniu do urządzeń mobilnych
Znacznik meta opatrzony atrybutem name="description" służy do zamieszczenia streszczenia treści strony internetowej. Jest to element HTML używany w nagłówku dokumentu, który dostarcza wyszukiwarkom i innym usługom internetowym informacji o zawartości strony. Opis ten pomaga w lepszym indeksowaniu strony przez wyszukiwarki oraz może wpływać na to, jak strona jest prezentowana w wynikach wyszukiwania. Dzięki dobrze sformułowanemu opisowi użytkownicy mogą szybciej zrozumieć, czego mogą się spodziewać po odwiedzeniu danej strony. Jest to dobra praktyka SEO, ponieważ poprawia widoczność strony w wyszukiwarkach. Zawartość opisana w znaczniku meta description nie powinna przekraczać 160 znaków, aby zapewnić odpowiednie wyświetlanie w wynikach wyszukiwania. Użycie streszczenia w odpowiedni sposób zwiększa atrakcyjność kliknięcia przez potencjalnych odwiedzających. To podejście jest zgodne z wytycznymi Google, które zaleca tworzenie unikalnych i treściwych opisów dla każdej strony w serwisie.

Pytanie 17

 SELECT model FROM samochody WHERE rocznik > 2017 AND marka = "opel"; 

Tabela samochody zawiera rekordy przedstawione na obrazie. Wydając przedstawione zapytanie SQL zostaną zwrócone dane:
idklasa_idmarkamodelrocznik
11fordka2017
22seattoledo2016
33opelzafira2018
42fiat500X2018
53opelinsignia2017
A. opel zafira
B. zafira; insignia
C. zafira
D. opel zafira; opel insignia
Gratulacje, twoja odpowiedź jest poprawna. Zapytanie SQL 'SELECT model FROM samochody WHERE rocznik > 2017 AND marka = 'opel';' ma na celu wyświetlenie modelu samochodu marki 'opel' z roku produkcji późniejszego niż 2017. Analizując dostępną tabelę, możemy zauważyć, że tylko model 'zafira' spełnia oba kryteria. W tym przypadku wykorzystaliśmy dwa kluczowe elementy języka SQL, tj. instrukcję SELECT i klauzulę WHERE. Instrukcja SELECT służy do zapytań o konkretne dane z bazy, a klauzula WHERE to powszechnie stosowane narzędzie do filtrowania wyników zapytania według określonych kryteriów. Jest to bardzo praktyczny aspekt SQL, który pozwala na wydobywanie tylko tych danych, które są potrzebne, co jest niezwykle przydatne przy dużych bazach danych.

Pytanie 18

Błędy interpretacji kodu PHP są

A. zapisywane w logu pod warunkiem ustawienia odpowiedniego parametru w pliku php.ini.
B. wyświetlane w oknie edytora kodu PHP po wybraniu przycisku kompiluj.
C. ignorowane przez przeglądarkę oraz interpreter kodu PHP.
D. zapisywane w podglądzie zdarzeń systemu Windows.
Poprawnie – w PHP błędy interpretacji (parse errors, fatal errors itd.) są standardowo zapisywane do logu, o ile w konfiguracji serwera i pliku php.ini jest to włączone. Kluczowe są tu parametry takie jak `log_errors` (powinno być ustawione na `On`) oraz `error_log` (ścieżka do pliku logu). To właśnie te ustawienia decydują, czy komunikaty błędów trafią do pliku dziennika, czy zostaną po prostu zignorowane z punktu widzenia logowania. W praktyce administracyjnej i programistycznej log błędów PHP to jedno z podstawowych narzędzi diagnozowania problemów na serwerze. W środowisku produkcyjnym dobrą praktyką jest wyłączenie wyświetlania błędów w przeglądarce (`display_errors = Off`) i jednoczesne włączenie szczegółowego logowania do pliku. Dzięki temu użytkownik nie widzi wrażliwych informacji o strukturze aplikacji, a programista nadal ma pełen wgląd w to, co się posypało. Z mojego doświadczenia, dobrze skonfigurowane logi ratują masę czasu przy debugowaniu: np. gdy aplikacja zwróci białą stronę albo kod 500, pierwszy odruch to zajrzeć do `error_log` i sprawdzić dokładny komunikat, numer linii, plik, czas wystąpienia. W projektach zespołowych często stosuje się też rotację logów (logrotate) i dodatkowe narzędzia typu ELK, Graylog czy Sentry, które zbierają logi z wielu serwerów. Niezależnie od skali, zasada jest ta sama: błędy PHP powinny być automatycznie logowane, a konfiguracja w php.ini jest punktem wyjścia do ich prawidłowej obsługi i monitoringu w profesjonalnym środowisku webowym.

Pytanie 19

Podczas walidacji strony napotkano błąd. Co to oznacza?

Ilustracja do pytania
A. znacznik meta nie zawiera atrybutu charset
B. w atrybucie charset dopuszczalna jest wyłącznie wartość "utf-8"
C. oznaczenie ISO-8859-2 jest nieprawidłowe
D. określenie kodowania znaków musi być zapisane bez użycia myślników
Odpowiedź jest poprawna ponieważ współczesne standardy tworzenia stron internetowych wymagają kodowania znaków w formacie UTF-8. Specyfikacja HTML5 zaleca używanie UTF-8 jako domyślnego kodowania ze względu na jego wszechstronność i szerokie wsparcie dla różnych znaków i symboli. UTF-8 jest kompatybilny z wieloma językami i zapewnia, że strony internetowe będą prawidłowo wyświetlane na różnych urządzeniach i przeglądarkach. Korzystanie z UTF-8 eliminuje również problemy związane z niepoprawnym wyświetlaniem znaków specjalnych co jest częstym problemem w kodowaniach takich jak ISO-8859-2. W praktyce oznacza to że wszystkie nowe projekty stron internetowych powinny deklarować kodowanie UTF-8 w znaczniku meta. Na przykład poprawnie zdefiniowany znacznik wyglądałby następująco meta charset="utf-8". Dobrym podejściem jest również upewnienie się że zarówno pliki HTML jak i serwer są zgodne z tym ustawieniem co zapobiega potencjalnym konfliktom Użycie UTF-8 zgodne jest z najlepszymi praktykami branżowymi wspierającymi tworzenie dostępnych i zróżnicowanych treści internetowych.

Pytanie 20

W tabeli mieszkancy, która zawiera pola id, imie, nazwisko, ulica, numer oraz czynsz (kwota całkowita), należy uzyskać informacje o osobach zamieszkujących ulicę Mickiewicza pod numerami 71, 72, 80, których czynsz nie przekracza 1000 zł. Klauzula WHERE w zapytaniu powinna wyglądać następująco

A. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) OR czynsz < 1000
B. WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000
C. WHERE ulica = 'Mickiewicza' OR numer IN (71, 72, 80) OR czynsz < 1000
D. WHERE ulica = 'Mickiewicza' AND numer > 70 AND numer < 81 OR czynsz < 1000
Kiedy piszemy zapytanie SQL, klauzula WHERE powinna wyglądać tak: 'WHERE ulica = 'Mickiewicza' AND numer IN (71, 72, 80) AND czynsz < 1000'. Dlaczego to działa? Bo ta klauzula jasno określa, że interesują nas tylko mieszkańcy z ulicy Mickiewicza, mający numery 71, 72 lub 80, i którzy płacą czynsz mniejszy niż 1000 zł. Użycie AND sprawia, że wszystkie te warunki muszą być spełnione naraz, co jest naprawdę ważne. Możemy to sobie wyobrazić w kontekście zarządzania nieruchomościami, gdzie chcemy pokazać tylko wybraną grupę mieszkańców, na przykład do analizy ich sytuacji finansowej. I tak na marginesie – w SQL lepiej unikać OR, gdy chcemy dostąpić do jasno określonych danych, ponieważ może to dać nam za dużo wyników lub takie, których nie chcemy.

Pytanie 21

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

$x = 59.85;
var_dump($x);
A. int(59)
B. string(5) "59.85"
C. array(2) { [0]=> int(59) [1]=> int(85) }
D. float(59.85)
Gratulacje, Twoja odpowiedź jest poprawna! W poprawnej odpowiedzi, wartość zmiennej $x była 59.85, co jest liczbą zmiennoprzecinkową, a więc typem tej zmiennej jest float. Funkcja PHP var_dump() służy do wyświetlania informacji o zmiennej, w tym jej typu i wartości. Zatem wynikiem jej wykonania dla zmiennej $x inicjowanej wartością 59.85 jest float(59.85). To jest jeden z przykładów, gdzie rozumienie typów danych w PHP jest kluczowe. Zrozumienie typu float pozwoli Ci na prawidłową manipulację danymi, co jest niezwykle ważne w programowaniu. Jest to szczególnie istotne, gdy porównujesz różne wartości lub przekształcasz jedne typy danych w inne. Pamiętaj, że PHP jest językiem o słabej typizacji, co oznacza, że konwersja typów może nastąpić automatycznie w niektórych kontekstach, więc zawsze warto wiedzieć, jakiego typu jest dana zmienna.

Pytanie 22

Wskaź na właściwą sekwencję tworzenia aplikacji?

A. Specyfikacja wymagań, analiza potrzeb klienta, tworzenie, wdrażanie, testowanie
B. Tworzenie, analiza potrzeb klienta, specyfikacja wymagań, wdrażanie, testowanie
C. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, wdrażanie, testowanie
D. Analiza potrzeb klienta, specyfikacja wymagań, tworzenie, testowanie, wdrażanie
Prawidłowa kolejność tworzenia aplikacji zaczyna się od analizy wymagań klienta, co jest kluczowym etapem, pozwalającym zrozumieć oczekiwania oraz potrzeby użytkowników. Następnie, na podstawie zebranych informacji, sporządzana jest specyfikacja wymagań, która dokładnie opisuje, jakie funkcjonalności i cechy powinna posiadać aplikacja. To dokument, który stanowi fundament dla dalszych prac programistycznych. W kolejnej fazie następuje etap tworzenia, w którym programiści przekształcają specyfikację w kod, implementując wszystkie wymagane funkcje. Po zakończeniu kodowania, aplikacja przechodzi testy, które mają na celu wykrycie błędów oraz weryfikację zgodności z wymaganiami. W końcowej fazie, po przeprowadzeniu testów i eliminacji ewentualnych problemów, aplikacja jest wdrażana, co oznacza jej udostępnienie użytkownikom. Cały proces powinien być zgodny z najlepszymi praktykami oraz standardami, takimi jak Agile czy Scrum, które kładą duży nacisk na iteracyjny rozwój oraz stałą komunikację z klientem, co zwiększa szansę na sukces projektu.

Pytanie 23

Która z funkcji SQL nie przyjmuje żadnych argumentów?

A. upper
B. len
C. now
D. year
Funkcja SQL 'now' jest funkcją, która zwraca bieżącą datę i czas. Jest to przykład funkcji, która nie pobiera żadnych argumentów, co oznacza, że jej działanie jest niezależne od jakichkolwiek wartości wejściowych. W praktyce, użycie tej funkcji pozwala na uzyskanie aktualnego znacznika czasu w zapytaniach SQL, co jest szczególnie przydatne w kontekście logowania zdarzeń w bazach danych, generowania raportów lub wstawiania danych z bieżącą datą i czasem do tabeli. Na przykład, w poleceniu SQL 'INSERT INTO logi (data_czas) VALUES (now());' wstawiamy aktualny czas do kolumny 'data_czas'. Stosowanie funkcji, które nie wymagają argumentów, jak 'now', jest zgodne z najlepszymi praktykami, ponieważ upraszcza kod i minimalizuje ryzyko błędów związanych z przekazywaniem niepoprawnych argumentów.

Pytanie 24

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 25

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. opisu struktur danych w tabelach
B. kompletnej listy użytkowników serwera
C. aktualnej wersji kopii zapasowej
D. najświeższej wersji instalacyjnej serwera
Aby skutecznie przywrócić działanie bazy danych po jej uszkodzeniu, kluczowe jest wykorzystanie aktualnej wersji kopii zapasowej. Kopie zapasowe są fundamentem każdego planu odzyskiwania danych i powinny być regularnie tworzone zgodnie z polityką zarządzania danymi. Przykładowo, jeśli korzystamy z bazy danych w środowisku produkcyjnym, zaleca się wykonywanie codziennych kopii zapasowych oraz pełnych kopii co tydzień. W przypadku awarii, przywrócenie systemu do stanu sprzed incydentu za pomocą najnowszej kopii zapasowej minimalizuje utratę danych i przestoje. Praktyki takie jak backup w czasie rzeczywistym (real-time backup) mogą być również rozważane, aby ograniczyć ryzyko utraty danych. W kontekście standardów branżowych, organizacje powinny stosować zasady RTO (Recovery Time Objective) i RPO (Recovery Point Objective), które pomogą w określeniu najodpowiedniejszej strategii tworzenia kopii zapasowych i ich przechowywania. Zastosowanie aktualnych kopii zapasowych jest zatem najskuteczniejszym sposobem na przywrócenie funkcjonalności bazy danych.

Pytanie 26

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

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

Pytanie 27

W bazie danych znajduje się tabela pracownicy z kolumnami: id, imie, nazwisko, pensja. W nadchodzącym roku postanowiono zwiększyć wynagrodzenie wszystkim pracownikom o 100 zł. Zmiana ta w bazie danych będzie miała formę

A. UPDATE pensja SET +100;
B. UPDATE pracownicy SET pensja = 100;
C. UPDATE pracownicy SET pensja = pensja +100;
D. UPDATE pensja SET 100;
W celu podniesienia pensji wszystkim pracownikom o 100 zł, zastosowanie ma polecenie SQL UPDATE. Poprawna instrukcja 'UPDATE pracownicy SET pensja = pensja + 100;' działa na zasadzie modyfikacji istniejących wartości w kolumnie 'pensja' w tabeli 'pracownicy'. Ta konstrukcja przyjmuje bieżącą wartość pensji każdego pracownika i dodaje do niej 100 zł. Jest to standardowa praktyka w SQL, gdzie używamy operatora '+', aby zmodyfikować dane. Warto pamiętać, że takie operacje są powszechnie wykorzystywane w systemach baz danych do aktualizacji informacji, co pozwala na efektywne zarządzanie danymi. Dla porównania, instrukcje SELECT, które służą do pobierania danych, nie są odpowiednie w tym kontekście. W rezultacie każdy pracownik w tabeli otrzyma nową, zwiększoną pensję, co odzwierciedli aktualizację w bazie danych.

Pytanie 28

Jak zdefiniować formatowanie tabeli w języku CSS, aby wyróżnić wiersz, na który aktualnie najeżdża kursor myszy, korzystając z innego koloru?

A. pseudoelement ::first-line
B. pseudoelement ::marker
C. pseudoklasę :visited
D. pseudoklasę :hover
Prawidłową odpowiedzią jest użycie pseudoklasy :hover, która jest standardowym rozwiązaniem w CSS do stylizacji elementów, gdy użytkownik na nie najedzie kursorem myszy. Pseudoklasa :hover pozwala na dynamiczną modyfikację wyglądu elementów, co jest szczególnie użyteczne w kontekście interaktywności stron internetowych. Na przykład, można zastosować tę pseudoklasę do wierszy tabeli, aby zmienić ich kolor tła na inny, co podnosi czytelność i estetykę interfejsu użytkownika. Implementacja może wyglądać następująco: table tr:hover { background-color: #f2f2f2; } - dzięki temu, gdy użytkownik najedzie myszką na wiersz tabeli, jego tło zmieni się na jasno szare, co zwraca uwagę na ten wiersz. Użycie :hover jest zgodne z dobrymi praktykami w projektowaniu UI, gdyż poprawia doświadczenia użytkownika oraz umożliwia intuicyjne korzystanie z interakcji na stronie. Pseudoklasa :hover wspiera również responsywność, ponieważ wpływa na sposób, w jaki użytkownicy wchodzą w interakcje z elementami, co jest kluczowe w nowoczesnym projektowaniu stron.

Pytanie 29

Jaką wartość zwróci ten algorytm?

Z = 0
N = 1
dopóki Z < 3:
    N = N * 2 + 1
    Z = Z + 1
wypisz N
A. 3
B. 5
C. 15
D. 7
Zrozumienie działania tego algorytmu jest kluczowe dla programowania i matematyki obliczeniowej. Algorytm ten wykorzystuje pętlę 'dopóki', która wykonuje operacje na dwóch zmiennych: Z i N. Na początku Z jest równe 0, a N jest równe 1. Pętla trwa dopóki Z jest mniejsze od 3. W każdej iteracji pętli zmienna N jest aktualizowana zgodnie z wyrażeniem N = N * 2 + 1 oraz Z jest zwiększane o 1. Przy pierwszej iteracji Z wynosi 0, więc N staje się 1 * 2 + 1 = 3, a Z zostaje zwiększone do 1. W drugiej iteracji Z wynosi 1, więc N staje się 3 * 2 + 1 = 7, a Z wynosi 2. W trzeciej iteracji Z wynosi 2, dlatego N staje się 7 * 2 + 1 = 15, a Z zostaje zwiększone do 3, co kończy pętlę. W rezultacie, gdy algorytm kończy działanie, zmienna N ma wartość 15, która zostaje wypisana. To podejście jest zgodne z dobrymi praktykami w pisaniu algorytmów, gdzie dbałość o zrozumienie pętli i operacji na zmiennych jest fundamentalna dla tworzenia wydajnych programów.

Pytanie 30

Poprawny zapis znacznika , za pomocą którego można umieścić na stronie internetowej obraz rys.jpg przeskalowany do szerokości 120 px i wysokości 80 px z tekstem alternatywnym "krajobraz" to

A. <img href="rys.jpg" height="120px" width="80px" info="krajobraz">
B. <img src="rys.jpg" height="120px" width="80px" info="krajobraz">
C. <img image="rys.jpg" width="120px" height="80px" alt="krajobraz">
D. <img src="rys.jpg" width="120px" height="80px" alt="krajobraz">
Odpowiedź <img src="rys.jpg" width="120px" height="80px" alt="krajobraz"> jest na pewno dobra! Używasz fajnego atrybutu 'src' do wskazania, skąd bierzesz obrazek, co jest super ważne. Atrybuty 'width' i 'height' też są dobrze ustawione, bo określają, jak duży ma być obrazek na stronie. To naprawdę przydaje się, zwłaszcza jak robimy responsywne strony. A ten 'alt', to świetny pomysł – daje tekst alternatywny, co bardzo pomaga osobom, które korzystają z czytników ekranu. Bez tego mogą nie wiedzieć, co jest na obrazku, a to jest spoko, bo dba o dostępność. Co do pikseli, używasz ich standardowo, ale pomyśl, że w CSS można też iść w procenty czy jednostki względne, żeby było jeszcze elastyczniej. W sumie, gdybyś chciał, mógłbyś bawić się CSS-em do stylizacji obrazów tła, co też sprawia, że wszystko lepiej się dopasowuje do różnych ekranów.

Pytanie 31

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 32

Jak można usunąć ciasteczko o nazwie ciastko, korzystając z języka PHP?

A. setcookie("$ciastko", "", 0);
B. deletecookie("ciastko");
C. unsetcookie("$ciastko");
D. setcookie("ciastko", "", time()-3600);
Wszystkie pozostałe odpowiedzi zawierają błędy koncepcyjne, które uniemożliwiają skuteczne usunięcie ciasteczka. Przykładowo, deletecookie("ciastko") to niepoprawne podejście, ponieważ nie istnieje funkcja o takiej nazwie w standardowej bibliotece PHP. Użytkownicy mogą myśleć, że wystarczy wywołać funkcję, która usunie ciasteczko, jednak PHP wymaga korzystania z funkcji setcookie(), aby to osiągnąć. W przypadku setcookie("$ciastko", "", 0), użytkownik próbuje usunąć ciasteczko, ale błędnie ustawia czas wygaśnięcia na zero. Wartość zero nie jest interpretowana jako czas przeszły, co uniemożliwia przeglądarce uznanie ciasteczka za wygasłe. Ponadto, użycie zmiennej "$ciastko" zamiast bezpośredniego odniesienia do nazwy ciasteczka wprowadza dodatkowe zamieszanie. Ostatnia propozycja, unsetcookie("$ciastko"), również jest błędna, ponieważ nie istnieje funkcja unsetcookie() w PHP. Użytkownicy mogą mylnie przypuszczać, że funkcje do usuwania zmiennych i ciasteczek są sobie równe, jednak każda z nich ma swoje specyficzne zastosowanie i zachowanie. Kluczowym punktem w pracy z ciasteczkami jest zrozumienie, że celem jest ich usunięcie przez ustawienie daty wygaśnięcia w przeszłości, a nie przez wywoływanie nieistniejących funkcji.

Pytanie 33

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby, Adresy;
C. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
Prawidłowa odpowiedź opiera się na instrukcji SELECT z użyciem JOIN, co jest bardzo ważne przy pracy z relacyjnymi bazami danych. W tym przypadku, zapytanie SELECT jest używane do wyboru dwóch kolumn - 'nazwisko' i 'Miasto' - z połączonych tabel 'Osoby' i 'Adresy'. Wykorzystuje się tutaj złączenie (JOIN), które jest kluczowym konceptem w SQL umożliwiającym łączenie danych z różnych tabel w jednym zapytaniu. Odpowiednia składnia JOIN wymaga określenia dwóch tabel do połączenia oraz warunku łączenia, który w tym przypadku jest 'Osoby.Adresy_id = Adresy.id'. Ten warunek oznacza, że rekordy z obu tabel będą połączone, gdy wartość kolumny 'Adresy_id' w tabeli 'Osoby' będzie równa wartości kolumny 'id' w tabeli 'Adresy'. Jest to typowe użycie klucza obcego ('Adresy_id') do odwołania się do klucza głównego w innej tabeli ('id' w tabeli 'Adresy'). To jest dobry przykład pokazujący, jak praktycznie wykorzystuje się relacje pomiędzy tabelami w SQL.

Pytanie 34

W relacyjnych systemach baz danych, gdy dwie tabele są powiązane przez ich klucze główne, mamy do czynienia z relacją

A. n..n
B. 1..1
C. 1..n
D. n..1
W relacyjnych bazach danych, relacja 1..1 oznacza, że każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli, a odwrotnie. Gdy tabele są połączone kluczem głównym, zapewnia to unikalność powiązań między nimi. Przykładami takich relacji mogą być tabele 'Pracownicy' i 'Konta', gdzie każdy pracownik ma jedno konto, a każde konto należy do jednego pracownika. Relacja 1..1 jest typowa w sytuacjach, gdy jedna tabela zawiera szczegółowe informacje o obiektach reprezentowanych w drugiej tabeli. Z perspektywy projektowania baz danych, stosowanie relacji 1..1 pomaga w minimalizowaniu redundancji danych oraz zwiększa spójność informacji. Praktyczne podejście do projektowania bazy danych sugeruje, aby relacje 1..1 były wykorzystywane tam, gdzie konieczne jest zapewnienie jednoznacznego powiązania danych, co wspiera integralność danych zgodnie z normami ACID (Atomicity, Consistency, Isolation, Durability).

Pytanie 35

Jakim słowem kluczowym można zainicjować zmienną w JavaScript?

A. new
B. variable
C. var
D. instanceof
W języku JavaScript, deklaracja zmiennej przy użyciu słowa kluczowego 'var' jest jednym z podstawowych i fundamentalnych aspektów programowania. Słowo kluczowe 'var' umożliwia tworzenie zmiennych, które mogą przechowywać wartości zarówno typu prymitywnego, jak i obiektowego. Wartością dodaną użycia 'var' jest to, że zmienne zadeklarowane w ten sposób mają zasięg funkcji, co oznacza, że są dostępne w obrębie funkcji, w której zostały zadeklarowane, jak również w zasięgu globalnym, jeśli zostały zdefiniowane poza funkcją. Przykład użycia 'var': var liczba = 10; zmienna 'liczba' jest teraz dostępna w obrębie całej funkcji. Warto również zauważyć, że w nowszych standardach JavaScript, takich jak ECMAScript 6, wprowadzono dodatkowe słowa kluczowe takie jak 'let' i 'const', które oferują bardziej precyzyjny zasięg blokowy i zwiększają bezpieczeństwo kodu. 'Var' pozostaje jednak ważnym elementem do zrozumienia dla każdego programisty JavaScript, ponieważ jest fundamentem, na którym opiera się wiele starszych i nadal używanych skryptów.

Pytanie 36

Zawarty blok ilustruje proces

Ilustracja do pytania
A. odczytu lub prezentacji danych
B. wykorzystania zdefiniowanej procedury lub funkcji
C. podjęcia decyzji
D. realizacji zadania w pętli
Romb w diagramach przepływu sterowania jest używany do reprezentacji podejmowania decyzji jest kluczowym elementem w programowaniu warunkowym Proces ten polega na ocenie wyrażenia logicznego które prowadzi do jednego z dwóch możliwych stanów prawda lub fałsz a następnie przepływu sterowania w kierunku odpowiedniego bloku kodu Praktyczne zastosowanie tego elementu można znaleźć w strukturach takich jak instrukcje if-else czy switch-case Stosowanie decyzji w kodzie jest niezbędne do tworzenia dynamicznych i interaktywnych aplikacji które reagują na różne sytuacje w czasie rzeczywistym Dodatkowo podejmowanie decyzji jest podstawą dla wdrażania algorytmów sztucznej inteligencji i uczenia maszynowego gdzie różne scenariusze są oceniane a odpowiednie decyzje podejmowane na podstawie wyników analizy danych W praktyce inżynierowie oprogramowania muszą zgodnie z dobrymi praktykami projektowymi dbać o to aby każda decyzja była dobrze zaprojektowana i zoptymalizowana nie tylko pod kątem poprawności logicznej ale także wydajności i czytelności kodu co ma kluczowe znaczenie dla utrzymania i rozwoju złożonych systemów informatycznych

Pytanie 37

Który typ danych należy przypisać kolumnie z kodami pocztowymi w tabeli relacyjnej bazy danych, aby przechowywała dane w formie łańcuchów znakowych o zdefiniowanej, stałej długości?

A. BLOB
B. DECIMAL
C. TEXT
D. CHAR
Poprawnie – dla kolumny z kodami pocztowymi najlepszym wyborem jest typ CHAR. Kody pocztowe są danymi tekstowymi, a nie liczbowymi, mimo że często składają się wyłącznie z cyfr. W wielu krajach (np. w Polsce, Wielkiej Brytanii czy Kanadzie) kod pocztowy może zawierać myślniki, spacje, a nawet litery. Co ważne, długość kodu jest z góry znana i stała (np. w Polsce zawsze 6 znaków w formacie „NN-NNN”). Typ CHAR został właśnie zaprojektowany do przechowywania krótkich łańcuchów znaków o stałej długości. Silnik bazy danych rezerwuje stałą ilość miejsca i dopełnia wartość spacjami, jeśli jest krótsza. Dzięki temu porównywanie, indeksowanie i sortowanie takich pól jest przewidywalne i wydajne. Moim zdaniem jest to dokładnie ten przypadek, który się podręcznikowo podaje na zajęciach: PESEL, NIP, numer dokumentu, kod pocztowy – wszystkie to typowe przykłady na CHAR. W praktyce np. w MySQL zdefiniujesz taką kolumnę jako CHAR(6), w PostgreSQL jako CHAR(6) albo ewentualnie VARCHAR(6), ale przy stałej długości CHAR jest bardziej jednoznacznym sygnałem projektowym. Dodatkowo użycie typu znakowego zapobiega „obcinaniu” zer wiodących, co jest częstym błędem przy traktowaniu kodów pocztowych jako liczby. W wielu systemach legacy właśnie z tego powodu trzeba było później migrować typ danych z numerycznego na tekstowy. Z punktu widzenia dobrych praktyk modelowania danych przyjmuje się zasadę: jeżeli coś nie służy do liczenia, tylko jest identyfikatorem lub etykietą, to przechowujemy to jako tekst, a dla stałej długości – jako CHAR o odpowiednim rozmiarze.

Pytanie 38

Jak nazywa się domyślny plik konfiguracyjny dla serwera Apache?

A. .htaccess
B. configuration.php
C. .configuration
D. htaccess.cnf
.htaccess to plik konfiguracyjny używany przez serwer Apache, który pozwala na lokalne zarządzanie ustawieniami serwera dla konkretnego katalogu. Jego nazwa zaczyna się od kropki, co czyni go ukrytym plikiem w systemach Unix/Linux. Plik .htaccess umożliwia m.in. definiowanie reguł przekierowań, ustawianie zabezpieczeń, zarządzanie dostępem do zasobów czy konfigurację behawioralną modułów serwera. Działa na zasadzie dziedziczenia, co oznacza, że ustawienia w pliku .htaccess mają pierwszeństwo przed globalnymi ustawieniami w pliku httpd.conf. Przykładem użycia .htaccess może być przekierowanie użytkowników z HTTP na HTTPS, co zwiększa bezpieczeństwo strony. Warto również wspomnieć, że odpowiednie wykorzystanie pliku .htaccess może wspierać SEO, na przykład poprzez zarządzanie 404 błędami lub ustalanie kanonikalnych adresów URL, co wpływa na indeksowanie przez wyszukiwarki. Istnieją również standardy, takie jak RFC 2616, które regulują zasady działania serwerów, w tym również Apache, co podkreśla znaczenie pliku .htaccess w kontekście administracji serwerem.

Pytanie 39

W systemie baz danych sklepu znajdują się dwie tabele powiązane ze sobą relacją: produkty oraz oceny. Tabela oceny zawiera dowolną liczbę ocen wystawionych przez klientów dla konkretnego produktu, które są zdefiniowane przez pola: id, ocena (pole numeryczne), produktID (klucz obcy). Aby uzyskać maksymalną ocenę dla produktu o ID równym 10, należy użyć zapytania

A. MAX SELECT ocena FROM oceny WHERE produktID = 10;
B. SELECT MAX(ocena) FROM oceny WHERE produktID = 10;
C. COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;
D. SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;
Odpowiedź "SELECT MAX(ocena) FROM oceny WHERE produktID = 10;" jest prawidłowa, ponieważ wykorzystuje odpowiednią składnię SQL do uzyskania maksymalnej wartości z kolumny "ocena" dla produktu o określonym ID. Funkcja agregująca MAX() umożliwia znalezienie najwyższej oceny w zbiorze danych spełniających określone kryteria. W tym przypadku, zapytanie przeszukuje tabelę "oceny" i filtruje wyniki na podstawie "produktID" równym 10. Takie podejście jest zgodne z najlepszymi praktykami w obszarze SQL, ponieważ zapewnia prostotę i efektywność. W praktycznym zastosowaniu, w momencie gdy mamy do czynienia z dużymi zbiorami danych, takie zapytanie pozwala na szybkie uzyskanie potrzebnych informacji, co jest kluczowe dla analizy wydajności produktów w sklepie. Używanie funkcji agregujących, takich jak MAX(), jest standardem w relacyjnych bazach danych, co czyni to podejście odpowiednim w kontekście zarządzania danymi.

Pytanie 40

Jaką formę ma kolor przedstawiony w systemie szesnastkowym jako #11FE07 w formacie RGB?

A. rgb(11,127,7)
B. rgb(17,254,7)
C. rgb(17,255,7)
D. rgb(17,FE,7)
Kolor zapisany w postaci szesnastkowej #11FE07 odnosi się do systemu kolorów RGB, który jest powszechnie wykorzystywany w grafice komputerowej oraz w sieci. Wartości szesnastkowe składają się z trzech par cyfr: pierwsza para (11) reprezentuje wartość czerwonego (R), druga para (FE) wartość zielonego (G), a trzecia para (07) wartość niebieskiego (B). Aby przekształcić wartości szesnastkowe na dziesiętne, stosujemy konwersję, gdzie '11' w systemie szesnastkowym to 17 w systemie dziesiętnym, 'FE' to 254, a '07' to 7. Zatem wartość RGB dla koloru #11FE07 wynosi rgb(17, 254, 7). Wartości te są kluczowe w tworzeniu kolorów w różnych aplikacjach, od stron internetowych po projektowanie graficzne. Zrozumienie konwersji kolorów oraz ich reprezentacji w różnych formatach jest niezbędne dla każdego projektanta, który pracuje z kolorami. Przykładem zastosowania może być projektowanie logo, gdzie precyzyjne odwzorowanie koloru w różnych formatach jest istotne dla spójności wizualnej marki.