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: 6 maja 2026 13:24
  • Data zakończenia: 6 maja 2026 13:37

Egzamin zdany!

Wynik: 23/40 punktów (57,5%)

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

Jakie sformułowanie najlepiej opisuje metodę POST do przesyłania formularzy?

A. Jest zalecana, gdy przesyłane są dane poufne, na przykład hasło, numer telefonu lub numer karty kredytowej
B. Dane są przesyłane przez adres URL, co czyni je widocznymi dla użytkownika
C. Ma dodatkowe ograniczenia związane z długością adresu - maksimum 255 znaków
D. Może być zarejestrowana jako zakładka w przeglądarce internetowej
Metoda POST jest jedną z podstawowych metod przesyłania danych w protokole HTTP, której głównym celem jest umożliwienie przesyłania dużych objętości danych, w tym informacji poufnych. Gdy używamy metody POST do wysyłania formularzy, dane nie są widoczne w adresie URL, co czyni tę metodę bardziej odpowiednią do przesyłania wrażliwych informacji, takich jak hasła, numery kart kredytowych czy dane osobowe. W przeciwieństwie do metody GET, która dodaje dane do adresu URL, metoda POST przesyła je w ciele zapytania, co ogranicza ryzyko przypadkowego ujawnienia informacji. Standardy bezpieczeństwa w branży webowej zalecają użycie metody POST do wszelkich operacji, które zmieniają stan serwera, jak dodawanie użytkowników, logowanie czy przesyłanie informacji finansowych. Przykładem może być formularz logowania, w którym dane użytkownika są przesyłane do serwera w sposób niewidoczny dla osób trzecich, co minimalizuje ryzyko przechwycenia tych informacji przez złośliwe oprogramowanie.

Pytanie 2

Aby utworzyć tabelę w systemie baz danych, trzeba użyć komendy SQL

A. PLUS TABLE
B. CREATE TABLE
C. ADD TABLE
D. NEW TABLE
Kiedy myślisz o tworzeniu tabeli w bazach danych, warto wiedzieć, że SQL ma swoje konkretne zasady i polecenia, żeby wszystko działało jak należy. Odpowiedzi typu PLUS TABLE, ADD TABLE czy NEW TABLE to niestety nie są poprawne polecenia w SQL. To dlatego, że SQL ma swoje ustalone słownictwo i składnię, których trzeba się trzymać. Często ludzie mylą się, używając słów, które wydają się logiczne, ale ich nie ma w dokumentacji. Zamiast ADD TABLE, powinno się używać polecenia CREATE TABLE, jeśli chcesz stworzyć nową tabelę. Dobrze też ogarnąć, co to są klucze główne i obce oraz zasady normalizacji, bo to wpływa na to, jak dobrze zaprojektujesz swoją bazę. Właściwe nazewnictwo i struktura tabel mogą naprawdę wiele zmienić w wydajności i bezpieczeństwie bazy danych. Warto więc poznać podstawy SQL i stosować się do zasad, które pozwalają lepiej zarządzać danymi.

Pytanie 3

W SQL, aby zmienić dane w tabeli, wykorzystuje się instrukcję

A. CREATE
B. SELECT
C. UPDATE
D. JOIN
Zrozumienie, jakie polecenia SQL służą do modyfikacji danych, jest kluczowe w pracy z bazami danych. Odpowiedzi takie jak 'CREATE', 'SELECT' i 'JOIN' nie są odpowiednie w kontekście aktualizacji danych. Polecenie 'CREATE' jest używane do tworzenia nowych tabel lub innych obiektów w bazie danych, a więc jego funkcja jest zupełnie inna. Nie można nim modyfikować już istniejących danych, co może prowadzić do nieporozumień wśród osób pracujących z bazami danych. 'SELECT' jest poleceniem służącym do pobierania danych z bazy, a nie ich modyfikowania, co również czyni je nieodpowiednim w tej sytuacji. Z kolei 'JOIN' to konstrukcja stosowana do łączenia danych z różnych tabel w jednym zapytaniu. Nie ma ona żadnej funkcji modyfikacyjnej, dlatego również nie pasuje do kontekstu pytania. Często błędne odpowiedzi wynikają z braku zrozumienia podstawowych funkcji poleceń SQL, co może prowadzić do niewłaściwego stosowania ich w praktyce. Dlatego ważne jest, aby jasno rozróżniać funkcje różnych poleceń SQL oraz ich zastosowanie w kontekście zarządzania danymi.

Pytanie 4

Aby utworzyć tabelę w systemie baz danych, należy użyć polecenia SQL

A. ADD TABLE
B. PLUS TABLE
C. NEW TABLE
D. CREATE TABLE
Aby utworzyć tabelę w bazie danych, należy użyć polecenia SQL 'CREATE TABLE', które jest standardową komendą w SQL (Structured Query Language) służącą do definiowania struktury tabeli. Polecenie to pozwala na określenie nazw kolumn, ich typów danych oraz opcji, takich jak klucze główne czy unikalność wartości. Przykładowe użycie tego polecenia wygląda następująco: 'CREATE TABLE pracownicy (id INT PRIMARY KEY, imie VARCHAR(50), nazwisko VARCHAR(50))'. Dzięki temu tworzymy tabelę o nazwie 'pracownicy' z trzema kolumnami: 'id', 'imie' i 'nazwisko'. Używanie polecenia 'CREATE TABLE' jest zgodne z normami SQL, co zapewnia jego przenośność między różnymi systemami zarządzania bazami danych. Dobrą praktyką jest także definiowanie ograniczeń, takich jak 'NOT NULL', aby zapewnić integralność danych. Również istotne jest zrozumienie, że polecenie to jest tylko jednym z wielu w SQL, które umożliwia manipulację danymi w relacyjnych bazach danych.

Pytanie 5

Technologia, w której komunikacja użytkownika z serwerem odbywa się bez konieczności przeładowywania całego dokumentu HTML, to

A. PHP
B. Django
C. Ruby
D. AJAX
W tym pytaniu łatwo się pomylić, bo wszystkie podane technologie w jakiś sposób kojarzą się z tworzeniem aplikacji webowych, ale tylko jedna opisuje mechanizm komunikacji bez przeładowania całej strony. Kluczowe jest zrozumienie różnicy między językiem programowania, frameworkiem backendowym a techniką asynchronicznej komunikacji po stronie przeglądarki. Django to framework działający po stronie serwera, napisany w Pythonie. Służy do obsługi logiki biznesowej, generowania szablonów HTML, pracy z bazą danych, routingu adresów URL itd. Samo użycie Django nie powoduje automatycznie, że strona staje się „dynamiczna bez przeładowania”. To, czy strona przeładowuje się w całości, zależy od tego, jak zachowuje się kod w przeglądarce, a nie od tego, jaki framework stoi po stronie serwera. Podobnie PHP to język skryptowy po stronie serwera. Generuje HTML, JSON lub inne odpowiedzi HTTP, ale komunikacja odbywa się standardowo: przeglądarka wysyła żądanie, serwer z PHP odsyła odpowiedź. Bez zastosowania JavaScript i mechanizmów asynchronicznych każda interakcja użytkownika, która wymaga kontaktu z serwerem, kończy się pełnym przeładowaniem dokumentu. Częsty błąd myślowy polega na tym, że skoro PHP „tworzy dynamiczne strony”, to odpowiada też za ich dynamiczne odświeżanie w przeglądarce. W rzeczywistości dynamika po stronie serwera i dynamika interfejsu w przeglądarce to dwie różne warstwy. Ruby również jest tylko językiem programowania, a w świecie webowym najczęściej używany jest z frameworkiem Ruby on Rails. Znowu – świetnie nadaje się do tworzenia API, generowania widoków, obsługi baz danych, ale sam z siebie nie rozwiązuje problemu komunikacji asynchronicznej w przeglądarce. Bez JavaScriptu i odpowiednich wywołań HTTP od strony klienta, strona w Ruby zachowuje się tak samo jak w przypadku PHP czy Django: każda odpowiedź to nowy dokument HTML. Sedno jest takie, że AJAX opisuje konkretną technikę po stronie klienta: asynchroniczne wysyłanie żądań HTTP z przeglądarki i aktualizowanie tylko fragmentów strony. Django, PHP i Ruby mogą być serwerowym „końcem” tych zapytań AJAX, ale nie są samą technologią odpowiedzialną za brak przeładowania strony. Rozdzielenie w głowie: frontendowa komunikacja asynchroniczna vs backendowa logika serwera, to bardzo ważna dobra praktyka w programowaniu webowym.

Pytanie 6

Jaką instrukcję algorytmu ilustruje graficzna prezentacja bloku na zamieszczonym rysunku?

Ilustracja do pytania
A. n > 20
B. Wykonaj podprogram sortowania tablicy t
C. Wypisz n
D. n ← n + 5
Każda z niepoprawnych odpowiedzi wynika z błędnego rozpoznania typów bloków w diagramach przepływu. Instrukcje przypisania, takie jak n ← n + 5, są reprezentowane prostokątem i oznaczają operacje przetwarzania danych, gdzie zmienna jest modyfikowana zgodnie z określoną logiką. Ta operacja głównie pojawia się w kontekście pętli lub jako część większej sekwencji działań obliczeniowych, co jest użyteczne w algorytmach obliczeniowych i matematycznych, gdzie często modyfikujemy wartość zmiennych. Kolejny typ instrukcji, taki jak Wypisz n, jest reprezentowany przez blok wyjścia, który jest używany do komunikacji wyników algorytmu na zewnątrz. Jest to częste w raportowaniu lub debugowaniu programów, gdzie wynikiem działania algorytmu jest wyświetlenie informacji użytkownikowi. Podprogramy, takie jak sortowanie tablicy, oznaczają bloki procesów, które są reprezentowane prostokątem z podwójnymi liniami bocznymi i wskazują na wywołanie funkcji lub procedury. Takie konstrukcje są kluczowe w strukturalnym programowaniu, gdzie zadania są dekomponowane na mniejsze, zarządzalne jednostki, co prowadzi do lepszego zrozumienia i utrzymania kodu. Błędne rozpoznanie tych bloków prowadzi do nieprawidłowego zrozumienia struktury algorytmu, co może skutkować jego nieefektywnością lub błędami logicznymi w jego działaniu. Zrozumienie różnic między tymi blokami jest niezbędne do prawidłowego projektowania i implementacji algorytmów, co jest podstawą w wielu dziedzinach informatyki, takich jak inżynieria oprogramowania czy analiza danych. Dzięki temu można tworzyć efektywne i zrozumiałe rozwiązania, które spełniają wymagania użytkowników i normy branżowe.

Pytanie 7

Na zaprezentowanej tabeli dotyczącej samochodów wykonano zapytanie SQL SELECT ```SELECT model FROM samochody WHERE rocznik=2016;``` Jakie wartości zostaną zwrócone w wyniku tego zapytania?

Ilustracja do pytania
A. Fiat, Opel, Toyota
B. Punto, Corsa, Corolla
C. Czerwony, grafitowy
D. Punto, Corsa, Astra, Corolla, Yaris
Zapytanie SQL, które podałeś, czyli SELECT model FROM samochody WHERE rocznik=2016, jest zaprojektowane tak, żeby wyciągnąć z tabeli samochody wszystkie modele aut z rocznika 2016. To ogranicza wynik tylko do tych modeli, które spełniają ten właśnie warunek. Patrząc na dostarczoną tabelę, widzimy, że modele z rocznika 2016 to Punto, Corsa i Corolla. Więc z tego zapytania otrzymamy tylko te trzy modele. W realnym świecie, zapytania SQL są mega przydatne przy filtrowaniu danych w bazach. Zrozumienie, jak pisać zapytania SELECT, jest naprawdę ważne, zwłaszcza dla analityków i administratorów. Dobrze jest znać zasady budowania zapytań, żeby były one jasne i precyzyjne, bo to pozwala lepiej zarządzać i analizować dane. Ta wiedza to podstawa w analizie danych, gdzie umiejętność wyciągania odpowiednich informacji jest kluczowa do podejmowania dobrych decyzji biznesowych.

Pytanie 8

Z którego z pól klasy

class Dane {
    public $a;
    private $b;
    protected $c;
}
będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?
A. Do pola $a.
B. Do pola $b.
C. Do wszystkich pól.
D. Do pola $c.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.

Pytanie 9

Jakim formatem kompresji dźwięku, który nie traci jakości, jest?

A. AAC
B. WWA
C. FLAC
D. MP3
FLAC, czyli Free Lossless Audio Codec, to format bezstratnej kompresji dźwięku, co oznacza, że dźwięk jest kompresowany bez utraty jakości. W przeciwieństwie do formatów stratnych, takich jak MP3 czy AAC, FLAC zachowuje oryginalne właściwości dźwięku, co czyni go idealnym wyborem dla audiofilów oraz profesjonalnych zastosowań dźwiękowych. FLAC umożliwia zmniejszenie rozmiaru plików audio, co ułatwia ich przechowywanie i przesyłanie, przy jednoczesnym zachowaniu jakości studyjnej. Przykładowo, podczas przesyłania plików audio na platformy streamingowe lub do archiwów, FLAC może być użyty do zapewnienia wysokiej jakości dźwięku bez obaw o degradację sygnału. FLAC jest standardem otwartym, co oznacza, że jest dostępny dla każdego, a jego algorytmy kompresji są udokumentowane i dostępne do implementacji w różnych aplikacjach. Warto również dodać, że FLAC obsługuje metadane, co pozwala na dodawanie informacji o utworach, takich jak wykonawca, album czy rok wydania, co zwiększa jego funkcjonalność w porównaniu do innych formatów.

Pytanie 10

W języku HTML w celu określenia słów kluczowych dla danej strony, należy zastosować następujący zapis

A. <meta name="description" content="psy, koty, gryzonie">
B. <meta name="keywords" content="psy, koty, gryzonie">
C. <meta name="keywords" = "psy, koty, gryzonie">
D. <meta keywords="psy, koty, gryzonie">
Poprawna odpowiedź to <meta name="keywords" content="psy, koty, gryzonie">, ponieważ jest to zgodne z aktualnymi standardami HTML i poprawną składnią. Element <meta> jest używany do dostarczania metadanych, które nie są wyświetlane bezpośrednio na stronie, ale mają kluczowe znaczenie dla wyszukiwarek internetowych i innych aplikacji. Atrybut 'name' definiuje typ metadanych, a 'content' zawiera konkretne informacje, w tym przypadku słowa kluczowe, które mają być używane przez wyszukiwarki do indeksowania strony. Przykład zastosowania tego elementu w kodzie HTML wyglądałby następująco: <head><meta name="keywords" content="psy, koty, gryzonie"></head>. Warto zauważyć, że chociaż atrybut 'keywords' nie jest już tak istotny jak kiedyś ze względu na zmiany w algorytmach wyszukiwarek, to jego poprawne zdefiniowanie wciąż pokazuje dbałość o standardy HTML. Dobrą praktyką jest aktualizowanie i dostosowywanie metadanych do aktualnych trendów SEO, co może zwiększyć widoczność strony w wynikach wyszukiwania.

Pytanie 11

Przedstawiona ikona funkcji edytora grafiki rastrowej o nazwie "kubełek" umożliwia

Ilustracja do pytania
A. zaznaczenie obszaru o takim samym kolorze.
B. wypełnienie zaznaczonego obszaru kolorem.
C. zmianę aktywnych kolorów.
D. pobranie wskazanej barwy i ustawienie jej, jako aktywnej.
Gratulacje, odpowiedź jest poprawna. Ikona 'kubełek farby' w edytorach grafiki rastrowej jest narzędziem umożliwiającym wypełnienie zaznaczonego obszaru wybranym kolorem. Działanie tego narzędzia jest podobne do rozlewania farby - kolor wypełnia ciągły obszar aż do napotkania krawędzi lub pikseli o innym kolorze. Ta funkcja pozwala na szybkie i efektywne kolorowanie większych powierzchni obrazu. W praktyce, jest to niezwykle przydatne narzędzie, szczególnie gdy potrzebujesz szybko zmienić tło obrazu lub wypełnić obszar jednolitym kolorem. Warto również zauważyć, że różne edytory mogą mieć dodatkowe opcje dla tego narzędzia, takie jak możliwość wyboru tolerancji (która decyduje, jak bardzo podobny kolor musi być, aby został wypełniony) czy wypełnianie według warstwy czy według obrazu.

Pytanie 12

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji <head> nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
B. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
C. W sekcji <head> można definiować szablon strony przy użyciu znaczników <div>
D. W sekcji <head> znajduje się sekcja <body>
Sekcja <head> w HTML bardzo często bywa mylona z miejscem na wszystko, czego akurat nie chcemy pokazać użytkownikowi, i stąd biorą się różne dziwne pomysły na jej wykorzystanie. Tymczasem zgodnie ze specyfikacją HTML <head> służy do umieszczania metadanych o dokumencie, a nie właściwej struktury layoutu czy treści. Pojawia się czasem przekonanie, że w <head> nie wolno umieszczać kodu CSS, a jedynie odwołanie do zewnętrznego pliku. To nie jest prawda: jak najbardziej można stosować znacznik <style> z osadzonym CSS-em wewnętrznym. Po prostu w praktyce branżowej częściej używa się <link rel="stylesheet" href="...">, bo rozdzielenie HTML i CSS ułatwia utrzymanie kodu i ponowne wykorzystanie stylów. To jest kwestia dobrych praktyk, a nie twardego zakazu. Kolejne nieporozumienie to pomysł, że w <head> znajduje się sekcja <body>. Struktura dokumentu HTML jest jasno zdefiniowana: <head> i <body> są rodzeństwem, obydwa bezpośrednio w <html>. <body> nie może być zagnieżdżony w <head>, bo łamie to standard i prowadzi do nieprzewidywalnego zachowania przeglądarki, które co najwyżej próbuje „naprawić” taki dokument po swojemu. Równie mylące jest traktowanie <head> jako miejsca na „szablon” strony z użyciem znaczników <div>. Cały układ, kontenery, kolumny, nagłówki, sekcje itp. powinny znajdować się w <body>, bo to są elementy treściowe lub strukturalne widoczne dla użytkownika. W <head> trzymamy tylko informacje opisujące dokument, jak <meta>, <title>, <link>, ewentualnie <script> czy <style>, ale nie semantyczny layout. Typowy błąd myślowy polega na mieszaniu pojęcia „nagłówek strony” (np. baner z logo) z „nagłówkiem dokumentu” HTML, czyli sekcją <head>. Ten pierwszy jest zwykle tworzony w <body> za pomocą <header> i <div>, a ten drugi to czysto techniczna część dokumentu przeznaczona dla przeglądarki, wyszukiwarek i innych narzędzi, a nie dla bezpośredniej prezentacji użytkownikowi.

Pytanie 13

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. dwa obiekty
B. dwie właściwości
C. dwie metody
D. jedna właściwość
W przedstawionej klasie w języku PHP zdefiniowano dwie właściwości publiczne: $b oraz $c. Właściwości te są zmiennymi, które mogą przechowywać dane różnego typu i są dostępne z poziomu innych obiektów lub kodu poza klasą dzięki modyfikatorowi dostępu public. W praktyce, właściwości klasy są wykorzystywane do przechowywania stanu obiektu czyli wartości specyficznych dla instancji tej klasy. Należy pamiętać o dobrych praktykach w programowaniu obiektowym, takich jak stosowanie odpowiednich modyfikatorów dostępu (public, private, protected) w celu lepszej enkapsulacji danych oraz korzystanie z metod dostępowych (getterów i setterów) w celu kontroli dostępu i modyfikacji właściwości. Właściwości te mogłyby być użyte na przykład do przechowywania danych użytkownika, takich jak imię i nazwisko, w klasach modelujących obiekty w aplikacjach typu MVC. Zastosowanie właściwości jako mechanizmu przechowywania stanu obiektu jest kluczowym elementem programowania obiektowego i poprawnego projektowania klas.

Pytanie 14

Aby właściwie przystosować stronę internetową dla osób niewidomych, należy przypisać wyświetlanym za pomocą znacznika img obrazom atrybut

A. text
B. style
C. src
D. alt
Atrybut 'alt' w znaczniku <img> to naprawdę ważny element, jeśli chodzi o dostępność stron internetowych dla osób niewidomych. Głównie chodzi o to, żeby zapewnić opis obrazka, który mogą zrozumieć technologie asystujące, tak jak czytniki ekranu. Dzięki temu, osoby niewidome mają możliwość dowiedzieć się, co znajduje się na zdjęciu. Na przykład, jeśli mamy zdjęcie czerwonego swetra w sklepie internetowym, to warto wpisać coś takiego jak 'Czerwony sweter z wełny' w tym atrybucie. To też pomaga w SEO, bo wyszukiwarki lubią takie opisy. W skrócie, dobrze jest stosować atrybut 'alt' przy każdym obrazie, by każdy użytkownik mógł zrozumieć treść strony.

Pytanie 15

Przedstawiona linia kreskowa w stylu obramowania CSS jest określona własnością

Ilustracja do pytania
A. solid
B. doted
C. double
D. dashed
Dobrze zrozumiałeś temat. Linia kreskowa w stylu CSS jest określana właściwością 'dashed'. Jest to jedna z kilku wartości, które można przypisać właściwości 'border-style' w języku CSS, aby manipulować wyglądem obramowania elementu. Stosowanie różnych styli linii pozwala na tworzenie bardziej skomplikowanych i estetycznie przyjemnych projektów. Na przykład, styl 'dashed' może być używany do zaznaczania linków lub przycisków, aby zwrócić uwagę użytkownika. Ważne jest jednak, aby zawsze pamiętać o utrzymaniu konsekwencji w projektowaniu stron internetowych. Dobre praktyki zalecają, aby wybierać styl obramowania, który najlepiej pasuje do ogólnego stylu strony. Podsumowując, właściwość 'border-style' jest kluczowym narzędziem w projektowaniu stron internetowych.

Pytanie 16

W języku HTML, aby stworzyć pole do wprowadzania hasła, w którym tekst jest maskowany (zastąpiony kropeczkami), należy zastosować znacznik

A. <form="password" type="password" />
B. <input type="password" />
C. <input name="password" />
D. <form input type="password" />
Aby utworzyć pole edycyjne do wpisywania hasła w HTML, należy użyć znacznika <input> z atrybutem type ustawionym na 'password'. Taki typ pola edycyjnego zapewnia, że wprowadzany tekst jest maskowany, co w praktyce oznacza, że jest on wyświetlany jako kropki lub gwiazdki, co znacząco podnosi poziom bezpieczeństwa. Stosując <input type='password' />, zalecane jest również dodanie atrybutu name, co ułatwi przesyłanie danych na serwer. Warto zwrócić uwagę, że zgodnie z tym, co definiuje specyfikacja HTML5, pole to jest standardowo obsługiwane przez wszystkie nowoczesne przeglądarki. Przykład użycia: <input type='password' name='user_password' placeholder='Wpisz swoje hasło' />. Ponadto, dobrym praktyką jest stosowanie odpowiednich mechanizmów walidacji po stronie serwera, aby upewnić się, że dane przesyłane z formularzy są bezpieczne i chronione przed nieautoryzowanym dostępem. Maskowanie hasła w polach edycyjnych jest kluczowym elementem ochrony danych użytkowników w aplikacjach internetowych oraz stronach, które wymagają logowania.

Pytanie 17

W HTML atrybut alt elementu img służy do określenia

A. lokalizacji i nazwy pliku źródłowego grafiki
B. opisu, który pojawi się pod grafiką
C. treści, która zostanie pokazana, gdy grafika nie może być załadowana
D. parametrów grafiki, takich jak wymiary, ramka, wyrównanie
Istnieje wiele nieporozumień dotyczących roli atrybutu <b>alt</b> w znaczeniu <b>img</b>. Niektórzy mogą błędnie sądzić, że atrybut ten służy do definiowania parametrów grafiki, takich jak rozmiar czy obramowanie. Warto jednak zauważyć, że rozmiar i obramowanie obrazów są regulowane przez inne atrybuty HTML oraz style CSS, a nie przez atrybut <b>alt</b>. Atrybut ten nie ma również nic wspólnego z podpisami pod grafiką, które można osiągnąć za pomocą elementów takich jak <b>figure</b> i <b>figcaption</b>. Kolejnym błędnym podejściem jest mylenie atrybutu <b>alt</b> ze ścieżką do pliku źródłowego grafiki, co jest regulowane przez atrybut <b>src</b>. Atrybut <b>alt</b> nie dostarcza informacji o lokalizacji pliku, ale raczej o jego zawartości w przypadku, gdy nie jest on dostępny. Takie błędne interpretacje mogą prowadzić do nieprawidłowego zrozumienia zagadnień dostępności i optymalizacji treści w sieci, co jest kluczowe w nowoczesnym projektowaniu stron internetowych. Dlatego istotne jest, aby dokładnie poznawać funkcje każdego z atrybutów HTML oraz stosować je zgodnie z ich przeznaczeniem, co przyczyni się do lepszej dostępności i jakości tworzonych treści.

Pytanie 18

W PHP użyto funkcji is_int(). Które z wymienionych wywołań tej funkcji da wynik TRUE?

A. is_int(NULL)
B. is_int("135")
C. is_int(13.5)
D. is_int(135)
Analizując pozostałe wywołania funkcji is_int(), można zauważyć, że w przypadku is_int("135"), przekazujemy ciąg znaków, a nie liczbę całkowitą. Choć zawiera on liczby, jest on interpretowany jako tekst, co skutkuje zwróceniem wartości FALSE. Warto pamiętać, że PHP rozróżnia różne typy danych i w tym przypadku is_int() nie będzie w stanie zinterpretować ciągu jako liczby całkowitej. Podobnie, is_int(NULL) prowadzi do identycznego wyniku, ponieważ NULL nie jest liczbą i nie spełnia kryteriów is_int(). Dodatkowo, w przypadku wywołania is_int(13.5), przekazujemy wartość zmiennoprzecinkową, co również nie spełnia wymagań funkcji. Typowe błędy myślowe, które mogą prowadzić do takich niepoprawnych wniosków, to mniemanie, że wszystkie liczby w PHP są traktowane tak samo, niezależnie od ich reprezentacji. Ważne jest, aby programiści uważnie sprawdzali typy danych, z którymi pracują, zwłaszcza w kontekście dynamicznego typowania, jakie oferuje PHP. Zrozumienie, że is_int() działa tylko na typie integer, pozwala uniknąć nieprzewidzianych błędów i poprawić jakość kodu, co jest kluczowe w profesjonalnym programowaniu.

Pytanie 19

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. aside {float: left; }
D. nav { float: right; }
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 20

W bazie MySQL zdefiniowano podczas tworzenia tabeli pole

id int NOT NULL AUTO_INCREMENT
Wpis AUTO_INCREMENT oznacza, że
A. wartości tej kolumny będą automatycznie tworzone w trakcie dodawania nowego rekordu do bazy
B. wartość kolumny id zostanie automatycznie przypisana przez system i będzie to przypadkowo wygenerowana liczba całkowita
C. możliwe jest wprowadzenie rekordu z dowolną wartością dla kolumny id
D. kolumna id będzie mogła przyjmować wartości: NULL, 1, 2, 3, 4 i tak dalej
Wybór niepoprawnych odpowiedzi najczęściej wynika z niepełnego zrozumienia działania mechanizmu AUTO_INCREMENT w MySQL. Zgłoszenie, że dozwolone jest dodawanie rekordu z dowolną wartością pola id, jest błędne, ponieważ pole z AUTO_INCREMENT nie pozwala na wprowadzenie wartości ręcznie; to system bazy danych przydziela kolejne wartości. Ponadto, sugestia, że pole id może przyjmować wartość NULL jest również nieprawidłowa. W definicji pola 'id int NOT NULL AUTO_INCREMENT' zawiera się klauzula NOT NULL, co oznacza, że pole to nie może być puste - każdemu rekordowi musi być przypisana właściwa wartość. Inną mylną koncepcją jest stwierdzenie, że wartość pola id zostanie wygenerowana losowo. AUTO_INCREMENT nie generuje wartości losowych, lecz sekwencyjne, co oznacza, że wartości będą rosły o jeden w stosunku do ostatniego zarejestrowanego identyfikatora. Takie podejście zapewnia porządek i przewidywalność w bazie danych. Często zdarza się, że osoby korzystające z baz danych nie zdają sobie sprawy z tych mechanizmów, co prowadzi do mylnych wniosków. Zrozumienie zasad działania AUTO_INCREMENT jest kluczowe dla efektywnego projektowania baz danych oraz zapewnienia integralności danych.

Pytanie 21

W jakiej technologii nie zachodzi możliwość przetwarzania danych wprowadzanych przez użytkowników na stronach internetowych?

A. AJAX
B. JavaScript
C. PHP
D. CSS
AJAX, PHP i JavaScript to języki oraz technologie, które umożliwiają przetwarzanie danych użytkownika wprowadzanych na stronach internetowych. AJAX (Asynchronous JavaScript and XML) pozwala na asynchroniczną komunikację z serwerem, co oznacza, że użytkownik może przesyłać dane, np. z formularza, bez konieczności przeładowania całej strony. Dzięki temu doświadczenie użytkownika jest bardziej płynne i interaktywne. PHP to język skryptowy po stronie serwera, który jest często używany do przetwarzania danych, takich jak zapisywanie informacji do bazy danych czy generowanie dynamicznych treści na stronie. Umożliwia on również walidację danych przed ich przesłaniem do serwera. JavaScript, z kolei, działa po stronie klienta i może reagować na interakcje użytkownika, takie jak kliknięcia, zmiany w polach formularzy czy nawigacja po stronie, pozwalając na manipulację danymi w czasie rzeczywistym. Typowym błędem myślowym jest myślenie, że CSS może pełnić funkcje, które są zarezerwowane dla języków programowania. Użytkownicy często mylą rolę CSS jako narzędzia do interakcji, podczas gdy w rzeczywistości jest on jedynie odpowiedzialny za prezentację. Uzupełniając CSS o JavaScript czy PHP, można zbudować kompletną, interaktywną aplikację webową, która efektywnie przetwarza dane użytkowników.

Pytanie 22

Jakie jest zastosowanie certyfikatu SSL?

A. określenia właściciela domeny
B. przechowywania informacji o sesjach tworzonych na stronie
C. zapobiegania złośliwemu oprogramowaniu na stronie
D. odszyfrowywania przesyłanych danych
Często ludzie mylą, co właściwie robi certyfikat SSL. Na przykład blokowanie złośliwego oprogramowania to zupełnie inna sprawa, która bardziej dotyczy takich rzeczy jak firewalle czy systemy wykrywania intruzów. SSL nie chroni przed atakami hakerskimi, a raczej zabezpiecza dane podczas przesyłania ich między klientem a serwerem. Zapisywanie danych sesji, które są tworzone na stronie, to też inny temat – to bardziej dotyczy zarządzania sesjami, na przykład przez ciasteczka. No i jeśli chodzi o deszyfrację danych, to SSL nie zajmuje się tym bezpośrednio. On tylko zapewnia, że połączenie jest bezpieczne i dane nie wpadną w niepowołane ręce. Dlatego przypisywanie certyfikatom SSL funkcji, które wykonują inne technologie bezpieczeństwa, to spory błąd. Trzeba po prostu zrozumieć, że każdy element zabezpieczeń ma swoją rolę w sieci.

Pytanie 23

W instrukcji warunkowej w JavaScript powinno się zweryfikować sytuację, w której zmienne a oraz b są większe od zera, przy czym zmienna b jest mniejsza od 100. Taki warunek należy zapisać w następujący sposób:

A. if ( a > 0 && b > 0 && b < 100)
B. if ( a > 0 || (b > 0 && b < 100))
C. if ( a > 0 && b > 0 || b > 100)
D. if ( a > 0 || b > 0 || b > 100)
Odpowiedź if ( a > 0 && b > 0 && b < 100) jest poprawna, ponieważ precyzyjnie spełnia wszystkie wymagane warunki. Wyrażenie to sprawdza, czy obie zmienne a i b są dodatnie, przy czym dodatkowo b musi być mniejsze niż 100. W kontekście programowania, taki sposób sprawdzania warunków jest zgodny z najlepszymi praktykami, gdyż wykorzystuje operator logiczny AND (&&), co zapewnia, że wszystkie warunki muszą być spełnione jednocześnie. Na przykład, w aplikacji, w której mamy do czynienia z ograniczeniami dla zmiennej b, takie podejście pozwala na kontrolowanie wartości, co jest istotne w kontekście bezpieczeństwa danych. W przypadku, gdyby b miało mieć wartość większą lub równą 100, mogłoby to generować błędy, a więc taki warunek jest kluczowy w zabezpieczaniu logiki programu. Dodatkowo, stosowanie złożonych warunków w instrukcjach warunkowych pozwala na elastyczność i łatwość w modyfikacjach kodu w przyszłości, co jest zgodne z zasadą DRY (Don't Repeat Yourself).

Pytanie 24

System baz danych gromadzi multimedia, co wiąże się z przechowywaniem znacznych ilości danych binarnych. Jakiego typu danych należy użyć w tym przypadku?

A. ENUM
B. LONGTEXT
C. DOUBLE
D. BLOB
Typ BLOB (Binary Large Object) służy do przechowywania dużych ilości danych binarnych, takich jak obrazy, dźwięki, filmy czy inne multimedia. BLOBy są niezwykle przydatne w aplikacjach, które wymagają zarządzania danymi o dużych rozmiarach, ponieważ pozwalają na efektywne przechowywanie i manipulowanie tymi danymi w bazie danych. Przykładem zastosowania BLOBów może być system zarządzania treścią (CMS), w którym użytkownicy mogą przesyłać zdjęcia i filmy. BLOBy umożliwiają przechowywanie tych plików w bazie, co ułatwia ich późniejsze pobieranie i wyświetlanie. W praktyce, stosując BLOBy, należy pamiętać o odpowiednich indeksach oraz optymalizacji zapytań, aby zminimalizować czas dostępu do danych. Warto również rozważyć zastosowanie systemów zarządzania bazami danych, które są dostosowane do pracy z danymi multimedialnymi, takich jak PostgreSQL czy MySQL, które obsługują typy BLOB i inne odpowiednie struktury danych. Standardy SQL definiują BLOB jako typ danych, co sprawia, że jego użycie jest zgodne z najlepszymi praktykami programowania baz danych.

Pytanie 25

Wskaż definicję metody, którą należy wstawić w miejscu kropek, aby na stronie WWW wyświetlił się tekst: Jan Kowalski

<p id="wynik"></p>
<script type="text/javascript">
    var osoba = { nazwisko: "Kowalski", imie: "Jan" };
    …
    document.getElementById("wynik").innerHTML = osoba.dane();
</script>

osoba.dane = function() {
    return this.imie+" "+this.nazwisko;
};                 A.

dane() = function() {
    return this.imie+" "+this.nazwisko;
};                 B.

osoba.dane = function() {
    return imie+" "+nazwisko;
};                 C.

dane() = function {
    this.imie+" "+this.nazwisko;
};                 D.
A. C.
B. D.
C. A.
D. B.
Fajnie, że wybrałeś dobrą odpowiedź! Metoda 'dane' jest powiązana z obiektem 'osoba', co pozwala ci używać słowa kluczowego 'this', żeby odwołać się do 'imię' i 'nazwisko'. To naprawdę ważna zasada w programowaniu obiektowym. 'This' to taki klucz, dzięki któremu możesz wskazać, z którego obiektu korzystasz w danej chwili. W tym przypadku odnosisz się do obiektu 'osoba'. Wyobraź sobie, że tworzysz aplikację i chcesz pokazać informacje o użytkowników, na przykład na stronie profilu. Dzięki metodzie 'dane', która jest częścią obiektu 'osoba', możesz łatwo wyświetlić imię i nazwisko. O to chodzi w programowaniu!

Pytanie 26

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. folderu sieciowego
B. serwera bazy danych
C. witryny programu SharePoint
D. dzielonej bazy danych
Wybór innych opcji, takich jak serwer bazy danych, dzielona baza danych czy witryna programu SharePoint, może prowadzić do nieporozumień na temat tego, jak działają mechanizmy udostępniania w Microsoft Access. Serwer bazy danych, na przykład, odnosi się do systemu zarządzania bazami danych, który obsługuje skomplikowane operacje i dużą ilość danych, ale nie jest tożsamy z lokalizacją danych na dysku sieciowym, co ogranicza jego zastosowanie w prostych zespołowych projektach. Z kolei dzielona baza danych to termin ogólny, który może być mylony z udostępnianiem danych na poziomie lokalnym lub zdalnym, ale nie precyzuje, jak obiekty są współdzielone przez użytkowników. Witryna programu SharePoint z kolei służy do przechowywania dokumentów i zarządzania projektami w chmurze, co jest innym podejściem niż tradycyjne foldery sieciowe. W praktyce, wybierając folder sieciowy, użytkownicy mogą łatwiej współpracować, dzielić się plikami i korzystać z prostoty, jaką zapewnia dostęp bez konieczności zaawansowanego konfigurowania serwerów czy baz danych. Kluczowe jest zrozumienie, że odpowiednie podejście do udostępniania danych powinno być zgodne z potrzebami zespołu i charakterem realizowanych projektów.

Pytanie 27

W CSS, co spowoduje poniższy kod z plikiem rysunek.png?

p {background-image: url("rysunek.png");}
A. tłem dla każdego akapitu
B. tłem całej witryny
C. pokazany obok każdego akapitu
D. widoczny, jeśli zastosowany zostanie znacznik img w kodzie
Wybrana odpowiedź jest poprawna ponieważ w arkuszach stylów CSS zastosowanie selektora elementu p z właściwością background-image powoduje że obraz rysunek.png zostanie ustawiony jako tło dla każdego elementu paragrafu na stronie. Jest to przydatna technika gdy chcemy nadać spójny wygląd wszystkim paragrafom w dokumencie. Tło to może być używane do celów estetycznych lub jako część identyfikacji wizualnej strony. Warto pamiętać że w CSS można dodatkowo kontrolować sposób wyświetlania obrazka tła za pomocą właściwości takich jak background-repeat background-size i background-position co pozwala na precyzyjne dostosowanie wyświetlania. Dobre praktyki zalecają aby obrazy tła były odpowiednio zoptymalizowane pod kątem rozmiaru aby nie wpływały negatywnie na szybkość ładowania strony. W praktyce stosowanie obrazów jako tła w paragrafach może wspierać wizualne narracje oraz zwiększać zaangażowanie użytkowników szczególnie gdy są stosowane w przemyślany sposób w kontekście projektowania doświadczeń użytkownika UX.

Pytanie 28

Które z pól edycyjnych zostało przedstawione w opisanym stylu, zakładając, że pozostałe atrybuty pola mają wartości domyślne, a użytkownik wpisał imię Krzysztof w przeglądarce?

Ilustracja do pytania
A. Pole 3
B. Pole 2
C. Pole 1
D. Pole 4
Dobrze, że dopasowałeś Pole 2 do stylu z kodu CSS. Widać, że dobrze ogarniasz te rzeczy! Ten padding 10px, co dałeś, naprawdę robi różnicę. Dzięki temu tekst ma więcej przestrzeni wokół siebie. A kolor tła Teal? Super wybór, bo to taki fajny pośredni odcień między niebieskim a zielonym. Biały tekst na tym tle jest świetnie widoczny, co jest mega ważne. No i brak obramowania, czyli border none, dodaje nowoczesności! Zaokrąglenie krawędzi, które ustawiłeś na 7px, sprawia, że pole wygląda przyjemniej. Takie rzeczy są często stosowane, by przygotować interfejsy, które są estetyczne i funkcjonalne. Jak projektujesz, pamiętaj o kontrastach, bo to naprawdę podnosi jakość aplikacji. Troska o estetykę i użyteczność to kluczowa sprawa. Dobra robota!

Pytanie 29

W systemie baz danych zdefiniowano tabelę Mieszkancy, która zawiera dane. W celu usunięcia tej tabeli oraz jej zawartości, należy użyć polecenia

A. DELETE FROM Mieszkancy;
B. DROP TABLE Mieszkancy;
C. TRUNCATE TABLE Mieszkancy;
D. ALTER TABLE Mieszkancy;
Wybór nieprawidłowych poleceń do usunięcia tabeli często wynika z niepełnego zrozumienia różnicy między różnymi instrukcjami SQL. Polecenie 'DELETE FROM Mieszkancy;' usuwa wszystkie rekordy z tabeli, ale sama tabela oraz jej struktura pozostają nienaruszone. To oznacza, że tabela nadal będzie istnieć w bazie danych, co może być mylące, gdy celem jest całkowite usunięcie obiektu. Z drugiej strony, 'ALTER TABLE Mieszkancy;' służy do zmiany struktury tabeli, takiej jak dodawanie kolumn czy zmiana typów danych, a nie do jej usuwania. Zastosowanie tego polecenia w kontekście usuwania tabeli wskazuje na niezrozumienie roli, jaką pełnią różne instrukcje w SQL. Ostatecznie, 'TRUNCATE TABLE Mieszkancy;' również może wydawać się odpowiednie, gdyż usuwa wszystkie wiersze z tabeli, ale pozostawia jej strukturę, co jest różne od całkowitego usunięcia tabeli. Kluczowym błędem jest mylenie operacji na danych z operacjami na strukturze obiektów w bazie danych. Zrozumienie tych różnic jest fundamentalne dla skutecznego zarządzania bazami danych oraz ich optymalizacji.

Pytanie 30

W HTML zdefiniowano hiperłącze zawierające znak #. Co się wydarzy po kliknięciu na ten odsyłacz?

<a href="#dane"></a>
A. Uruchomi się skrypt o nazwie dane
B. Zostanie wskazany względny adres URL o nazwie dane
C. Strona przewinie się do elementu o id równym dane
D. Otworzy się nowa karta przeglądarki o nazwie dane
W HTML znacznik <a> to taki element, który tworzy hiperłącza. Dzięki nim możesz przeskakiwać po stronie lub między różnymi stronami. Atrybut href wskazuje, dokąd prowadzi to łącze. Jak widzisz, gdy href zaczyna się od #, to znaczy, że przeniesie Cię do konkretnego miejsca na tej samej stronie, które jest oznaczone atrybutem id. Czyli, jeśli masz href="#dane", to strona przewinie się do elementu z id="dane". To bardzo przydatna rzecz, szczególnie na długich stronach, bo zamiast przewijać wszystko, możesz od razu trafić do odpowiedniej sekcji. To zgodne z tymi sztywnymi zasadami W3C, które mówią o tym, że strony powinny być łatwe w obsłudze. Powinieneś też pamiętać, żeby zawsze sprawdzać, czy id, do którego się odnosisz, istnieje. Dzięki temu unikniesz problemów z nawigacją.

Pytanie 31

W języku JavaScript zdefiniowano następującą funkcję:

function fun1(f) {
    if (f < 0) f = f * (-1);
    return f;
}
Jej celem jest:
A. Zwrócić wartość odwrotną do argumentu f
B. Wypisać wartość bezwzględną argumentu f
C. Zwrócić wartość bezwzględną argumentu f
D. Wypisać wartość odwrotną do argumentu f
Funkcja w języku JavaScript przedstawiona w pytaniu realizuje zadanie zwracania wartości bezwzględnej z argumentu f. Wartość bezwzględna liczby jest jej odległością od zera na osi liczbowej i jest zawsze liczbą nieujemną. Mechanika działania funkcji polega na sprawdzeniu za pomocą instrukcji warunkowej if czy wartość przekazanego argumentu f jest mniejsza od zera. Jeśli tak, wartość ta jest mnożona przez -1 co przekształca ją w liczbę dodatnią. W przeciwnym razie liczba pozostaje bez zmian. Ostatecznie funkcja zwraca wynik operacji co jest typowym podejściem w programowaniu funkcyjnym. Warto zwrócić uwagę że takie podejście jest zgodne z dobrymi praktykami programistycznymi ponieważ funkcja ma jednoznacznie określony cel i nie powoduje efektów ubocznych takich jak modyfikacja zmiennych globalnych. W realnych projektach często korzysta się z funkcji Math.abs która jest wbudowana w JavaScript i zwraca wartość bezwzględną liczby co jest bardziej wydajnym podejściem i zgodnym ze standardami języka

Pytanie 32

Po uruchomieniu zamieszczonego w ramce skryptu w języku JavaScript, w przeglądarce zostanie wyświetlona wartość:

var a = 5;
var b = a--;
a *= 3;
document.write(a + "," + b);
A. 12,4
B. 15,5
C. 12,5
D. 15,4
W tym skrypcie JavaScript mamy operator dekrementacji a--, gdzie najpierw wartość zmiennej a jest przypisana do zmiennej b, a dekrementacja następuje później. Jeśli tego nie rozumiesz, może to prowadzić do różnych nieporozumień co do wynikowych wartości. Czyli po a-- b przyjmuje pierwotną wartość a, która wynosi 5. Warto zrozumieć kolejność operacji, bo przy operatorze postfix zmiana wartości następuje po przypisaniu. Później, po dekrementacji, a staje się 4, co czasem jest źle interpretowane, bo ludzie myślą, że b też by się zmieniło. Potem jest a *= 3, gdzie 4 mnożymy przez 3 i dostajemy 12. Często ludzie popełniają błąd, zakładając, że operatory działają równocześnie w jednym wierszu kodu. Ważne jest, żeby znać te subtelności, bo pomaga to w lepszym programowaniu i kontrolowaniu, jak zmienne się zmieniają.

Pytanie 33

Definicja formularza została wykorzystana na stronie www, która przesyła dane do pliku w języku PHP. W której tablicy będą dostępne informacje z formularza?

<form action="plik.php" method="post">
A. $_ACTION
B. $_COOKIE
C. $_GET
D. $_POST
Formularze w HTML służą do przesyłania danych do serwera, a w kontekście języka PHP dane te są dostępne poprzez różne superglobalne tablice, z których najczęściej używaną przy metodzie POST jest tablica $_POST. Metoda POST, określona w atrybucie 'method' formularza, jest używana do przesyłania danych w bardziej bezpieczny sposób niż metoda GET, ponieważ nie pokazuje przesyłanych informacji w URL. Kiedy dane są wysyłane do skryptu PHP z formularza, wszystkie klucze i wartości formularza stają się dostępne jako elementy tablicy $_POST. Przykładowo, jeśli w formularzu znajduje się pole tekstowe o nazwie 'username', po wysłaniu formularza na stronie 'plik.php' można uzyskać dostęp do wartości tego pola za pomocą $_POST['username']. Ta metoda jest zalecana w przypadku przesyłania danych poufnych, takich jak hasła, ponieważ nie są one widoczne w pasku adresu przeglądarki. Dodatkowo, korzystając z $_POST, można przesyłać dane o większej objętości, co jest niemożliwe w przypadku $_GET, który ma ograniczenia długości URL.

Pytanie 34

Określ właściwą sekwencję stylów CSS, biorąc pod uwagę ich priorytet w formatowaniu elementów strony WWW?

A. Rozciąganie stylu, Styl zewnętrzny, Styl lokalny
B. Styl lokalny, Styl wewnętrzny, Styl zewnętrzny
C. Styl wewnętrzny, Styl zewnętrzny, Rozciąganie stylu
D. Styl zewnętrzny, Wydzielone bloki, Styl lokalny
Wskazana odpowiedź, czyli Lokalny, Wewnętrzny, Zewnętrzny, jest zgodna z zasadami kaskadowego stylu arkuszy CSS. Istotą kaskadowości jest to, że style są stosowane według określonej hierarchii. Style lokalne (wbudowane) mają najwyższy priorytet, co oznacza, że jeśli na danym elemencie zastosowano styl lokalny, to zdominuje on wszelkie inne style. Przykład użycia stylu lokalnego to nadanie koloru tła dla konkretnego przycisku poprzez atrybut 'style': <button style='background-color: red;'>Przycisk</button>. W przypadku, gdy nie ma stylu lokalnego, przetwarzany jest styl wewnętrzny, który można zdefiniować w sekcji <style> w nagłówku dokumentu HTML. Na przykład: <style>p { color: blue; }</style> sprawi, że wszystkie akapity będą miały niebieski kolor. Dopiero na końcu brane są pod uwagę style zewnętrzne, które są definiowane w osobnych plikach CSS, na przykład: <link rel='stylesheet' href='style.css'>. Dlatego znajomość tej hierarchii jest kluczowa dla skutecznego tworzenia stylów, co przekłada się na lepsze zarządzanie wyglądem strony oraz unikanie konfliktów stylów. Warto również pamiętać o zasadzie „specyficzności”, która dodatkowo komplikuje temat, ponieważ style mogą mieć różny priorytet w zależności od ich specyfikacji.

Pytanie 35

W MS SQL Server komenda RESTORE DATABASE jest używana do

A. rekonstrukcji bazy danych na podstawie danych buforowanych
B. przywrócenia bazy danych z kopii zapasowej
C. zaktualizowania bazy danych z weryfikacją więzów integralności
D. usunięcia bazy danych z serwera centralnego subskrybenta
Polecenie RESTORE DATABASE w MS SQL Server jest kluczowe dla procesu zarządzania danymi, gdyż umożliwia odtworzenie bazy danych z wcześniej wykonanej kopii bezpieczeństwa. To fundamentalne działanie zabezpiecza przed utratą danych i zapewnia ciągłość działania aplikacji. W praktyce, gdy następuje awaria systemu lub dane zostały usunięte przez pomyłkę, administratorzy baz danych korzystają z tego polecenia, aby przywrócić bazę do stanu sprzed zdarzenia. W kontekście dobrych praktyk branżowych, regularne tworzenie kopii zapasowych oraz ich właściwe zarządzanie są kluczowe. Warto także zaznaczyć, że przywracanie bazy danych może być realizowane z pełnych kopii, a także z kopii różnicowych i przyrostowych, co daje elastyczność w zarządzaniu danymi. Ponadto, w przypadku dużych baz danych, techniki takie jak 'Point-in-Time Recovery' pozwalają na przywrócenie bazy do precyzyjnego momentu, co jest nieocenione w sytuacjach kryzysowych.

Pytanie 36

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");
A. ochronę bazy danych
B. zmianę hasła do bazy danych
C. uzyskanie danych z bazy danych
D. nawiązanie połączenia z bazą danych
Podana funkcja w języku PHP demonstruje zastosowanie polecenia SQL SELECT które jest używane do pobierania danych z bazy danych MySQL. Funkcja mysql_query jest używana do wykonywania zapytań SQL w kontekście bazy danych MySQL. W tym przypadku zapytanie SQL SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. W praktyce wybór danych przy użyciu komendy SELECT jest kluczowy w aplikacjach PHP które działają z bazami danych ponieważ pozwala na dynamiczne generowanie zawartości strony internetowej w oparciu o informacje przechowywane w bazie. Ważne jest przestrzeganie najlepszych praktyk takich jak użycie funkcji mysqli_query czy PDO w nowych aplikacjach PHP w celu zapewnienia bezpieczeństwa i wydajności ponieważ mysql_query jest przestarzałe. Dodatkowo należy stosować techniki zabezpieczające przed SQL injection takie jak przygotowane zapytania co zwiększa bezpieczeństwo aplikacji

Pytanie 37

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
B. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
C. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
D. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
W analizowanych odpowiedziach można zauważyć kilka istotnych błędów składniowych, które uniemożliwiają prawidłowe zdefiniowanie tablicy asocjacyjnej w PHP. Pierwsza opcja, $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);, myli operator przypisania z operatorem asocjacyjnym. Użycie znaku = zamiast => jest kluczowe, ponieważ PHP wymaga użycia operatora => do parowania kluczy z wartościami. W drugiej opcji, $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);, zastosowano niepoprawną składnię tablicy, gdzie zewnętrzne nawiasy kwadratowe powinny być zastąpione funkcją array() lub nawiasami klamrowymi, a także brakuje kluczy. Trzecia odpowiedź, $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});, również jest niepoprawna, ponieważ użyto nawiasów klamrowych, które nie są stosowane w definicji tablic asocjacyjnych w PHP. Nawiasy klamrowe mogą być używane do tworzenia tablic wielowymiarowych, ale w tym kontekście są nieodpowiednie. Typowe błędy myślowe, które prowadzą do takich pomyłek, to mylenie różnych typów struktur danych oraz niewłaściwe zrozumienie zasad parowania kluczy i wartości, co w rezultacie skutkuje błędami w składni i logice kodu.

Pytanie 38

Jak za pomocą CSS ustawić opływanie obrazu tekstem, wprowadzając odpowiedni kod w stylu obrazu?

Ilustracja do pytania
A. table: left;
B. float: right;
C. float: left;
D. clear: both;
Stosowanie table: left; w tym kontekście to strzał w kolano, bo taka właściwość nie istnieje. W CSS do tabel używamy innych właściwości jak display: table; lub display: table-cell;, ale nie do opływania elementów. A clear: both; jest używane, żeby zlikwidować opływ po float, więc to ważna sprawa, bo inaczej wszystko się sypie. Float: left; może opływać, ale w tej sytuacji nie postawi obrazka po prawej, bo ustawia go po lewej stronie. Wiele osób myśli, że float działa na osi Y, ale tak naprawdę dotyczy tylko osi X. Pamiętaj, że float, chociaż przydatny, to nie jedyny sposób na układanie elementów w CSS. Flexbox i grid to nowoczesne metody, które często są znacznie lepsze. By zbudować ładne interfejsy, musimy rozumieć jak różne właściwości CSS ze sobą współpracują.

Pytanie 39

W tabeli artykuly znajduje się pole o nazwie nowy. Aby pole to wypełnić wartościami TRUE dla każdego rekordu, należy zastosować kwerendę

A. UPDATE artykuly SET nowy = TRUE;
B. INSERT INTO artykuly VALUE nowy = TRUE;
C. INSERT INTO nowy FROM artykuly SET TRUE;
D. UPDATE nowy FROM artykuly VALUE TRUE;
W tym zadaniu kluczowe jest zrozumienie różnicy między poleceniami UPDATE i INSERT w SQL oraz poprawnej składni tych instrukcji. Chodzi o modyfikację istniejących rekordów w tabeli artykuly, a nie o dodawanie nowych wierszy. To jest taki typowy błąd początkujących: pomieszanie operacji wstawiania danych z operacją ich aktualizacji. Jeśli tabela już zawiera dane i chcemy zmienić wartość w konkretnej kolumnie dla wszystkich wierszy, zawsze sięgamy po UPDATE. Instrukcje wykorzystujące INSERT, typu INSERT INTO artykuly VALUE nowy = TRUE; czy INSERT INTO nowy FROM artykuly SET TRUE;, są niepoprawne składniowo i logicznie. INSERT służy do dodawania nowych rekordów, czyli tworzenia kolejnych wierszy w tabeli. Poprawny wzorzec wygląda mniej więcej tak: INSERT INTO artykuly (kolumna1, kolumna2) VALUES (wartość1, wartość2);. Nie aktualizuje on istniejących pól, tylko dokłada nowe rekordy. Gdybyśmy próbowali użyć INSERT do „ustawienia” kolumny nowy, to w rzeczywistości tworzyliśmy nowe wiersze, a stare rekordy pozostałyby nietknięte, co jest sprzeczne z treścią pytania. Z kolei konstrukcje w rodzaju UPDATE nowy FROM artykuly VALUE TRUE; przypominają czasem składnię innych języków lub narzędzi, ale nie są poprawnym SQL-em. Standard SQL wymaga, żeby po słowie UPDATE pojawiła się nazwa tabeli, a po SET lista kolumn i przypisanych im wartości. Nie ma tu słów kluczowych FROM i VALUE w takiej kombinacji. FROM bywa używane w bardziej zaawansowanych UPDATE’ach, np. w PostgreSQL, ale w formie UPDATE tabela1 SET kolumna = coś FROM tabela2 WHERE warunek; – czyli z zupełnie inną logiką i strukturą. Typowy błąd myślowy polega też na tym, że ktoś próbuje tłumaczyć składnię SQL „na polski” i układa komendy w stylu „INSERT INTO nowy FROM artykuly SET TRUE”, bo brzmi to logicznie w języku naturalnym. Niestety, SQL jest językiem ściśle zdefiniowanym, z bardzo konkretną kolejnością słów kluczowych. Standardowe podejście branżowe jest takie: jeśli modyfikujesz wartości w istniejących wierszach – używasz UPDATE; jeśli dodajesz nowe wiersze – używasz INSERT. Dobrą praktyką jest też najpierw napisać SELECT, który wybiera dokładnie te rekordy, które chcesz zmienić, a dopiero potem na jego podstawie zbudować UPDATE z odpowiednim SET i ewentualnym WHERE. Dzięki temu unikasz przypadkowego uszkodzenia danych.

Pytanie 40

Aby wykonać usunięcie tabeli, należy użyć kwerendy

A. UNIQUE
B. DELETE
C. DROP TABLE
D. TRUNCATE TABLE
Wybór DELETE jest często mylnie interpretowany jako metoda usuwania tabeli. Komenda DELETE jest używana do usuwania wierszy z tabeli, a nie do usuwania samej tabeli. Na przykład, polecenie DELETE FROM Użytkownicy WHERE id = 1 usunie tylko wiersz odpowiadający konkretnemu identyfikatorowi, pozostawiając tabelę oraz inne dane nietknięte. Inną błędną odpowiedzią jest UNIQUE, która nie jest komendą do usuwania czegokolwiek. To słowo kluczowe jest stosowane do definiowania ograniczeń unikalności dla kolumn w tabeli, aby zapewnić, że wartości w danej kolumnie są niepowtarzalne. Truncating tabeli, przez użycie komendy TRUNCATE TABLE, może być mylone z usunięciem tabeli, ale ta komenda tylko opróżnia tabelę z danych, pozostawiając jej strukturę nienaruszoną. Główne różnice między TRUNCATE a DELETE polegają na tym, że TRUNCATE jest szybsze i nie zapisuje poszczególnych usunięć w dzienniku transakcji. Często w praktyce powstają nieporozumienia związane z zastosowaniem tych poleceń. Dlatego istotne jest zrozumienie, że DROP TABLE jest jedyną komendą, która całkowicie usuwa tabelę, a pozostałe komendy mają inne, odrębne funkcje związane z zarządzaniem danymi w bazie.