| Termin | Definicja |
|---|---|
| Dynamiczne filtry | Dynamiczne filtry to warunki wyszukiwania automatycznie odświeżające wyniki na podstawie bieżącego stanu danych. Jak działa filtr zależny od bieżących danychDynamiczne filtry to warunki wyszukiwania, których wynik jest ponownie obliczany po zmianie danych albo kryteriów. Użytkownik może na przykład wybrać kategorię, zakres dat, status lub fragment nazwy, a lista elementów zostaje automatycznie ograniczona do rekordów spełniających aktualny zestaw warunków. W filtrze statycznym wynik pozostaje bez zmian do chwili ręcznego zatwierdzenia polecenia, natomiast filtr dynamiczny reaguje na zdarzenia zachodzące w interfejsie lub w źródle danych. Mechanizm zwykle składa się z wartości kryteriów, funkcji oceniającej rekordy oraz procedury odświeżającej widok. Po wpisaniu tekstu, zaznaczeniu pola wyboru albo zmianie zakresu wartości aplikacja tworzy nowy warunek logiczny i stosuje go do dostępnych danych. W zależności od programu filtrowanie może odbywać się lokalnie, na danych już pobranych do pamięci, albo po stronie usługi, która otrzymuje zapytanie i zwraca ograniczony zestaw wyników. Warunki logiczne, zakresy i łączenie kryteriówFiltr dynamiczny może porównywać tekst, liczby, daty oraz wartości logiczne. Przykładowe warunki to „nazwa zawiera podany ciąg znaków”, „rozmiar jest większy od określonej wartości” albo „data modyfikacji mieści się w wybranym przedziale”. Wyszukiwanie tekstowe może uwzględniać wielkość liter, całe słowa, początek nazwy lub dopasowanie fragmentu. Sposób interpretacji zależy od konkretnej aplikacji i jej silnika wyszukiwania. Kilka filtrów można łączyć operatorami logicznymi. Operator AND pozostawia rekordy spełniające wszystkie warunki, a OR dopuszcza spełnienie przynajmniej jednego z nich. Operator NOT odrzuca elementy pasujące do wskazanego kryterium. Istotna jest kolejność oceny warunków, zwłaszcza gdy filtr zawiera nawiasy logiczne. Przykład „typ dokumentu AND (status nowy OR status do sprawdzenia)” daje inny rezultat niż połączenie tych samych słów bez jawnego określenia grupowania. Odświeżanie wyników i wpływ na wydajnośćAutomatyczne filtrowanie wymaga ponownego wykonania obliczeń po każdej zmianie wejścia. Przy niewielkim zbiorze danych aplikacja może przejrzeć wszystkie rekordy i natychmiast odświeżyć listę. Przy większej liczbie elementów znaczenie ma sposób przechowywania danych, indeksy oraz to, czy wyszukiwanie odbywa się w pamięci urządzenia, czy przez zapytania wysyłane do innego procesu lub usługi. Indeks może ograniczyć liczbę elementów analizowanych przy wyszukiwaniu po określonym polu, ale nie przyspiesza automatycznie każdego rodzaju dopasowania. Interfejsy często stosują opóźnienie reakcji, nazywane debouncingiem. Polega ono na tym, że aplikacja nie uruchamia pełnego wyszukiwania po każdym pojedynczym znaku, lecz czeka krótko na zakończenie wpisywania. Ogranicza to liczbę powtarzanych operacji i zapytań. Przy filtrowaniu zdalnym trzeba dodatkowo obsłużyć opóźnienia sieciowe, odpowiedzi przychodzące w innej kolejności oraz sytuację, w której dane zmienią się między wysłaniem zapytania a wyświetleniem wyniku. Poprawnie zaprojektowany interfejs powinien sygnalizować ładowanie, brak wyników i błąd pobierania, zamiast przedstawiać pustą listę bez wyjaśnienia. Sprawdzanie filtrów w codziennym oprogramowaniuNieprawidłowe działanie dynamicznego filtra może wynikać z błędnej składni warunku, niejednoznacznego formatu daty, różnic między wartością wyświetlaną a wartością przechowywaną albo z opóźnionej aktualizacji źródła danych. Przy diagnostyce warto sprawdzić filtr na kilku prostych rekordach: jednym, który powinien przejść, jednym, który powinien zostać odrzucony, oraz przypadku granicznym, na przykład wartości równej limitowi. Należy także porównać wynik po wyczyszczeniu wszystkich kryteriów, ponieważ wtedy lista powinna prezentować elementy zgodnie z podstawową zasadą sortowania i dostępnością danych. Jeżeli lista aktualizuje się dopiero po ręcznym przeładowaniu, przyczyną może być brak obsługi zdarzenia zmiany, buforowanie starego wyniku albo przerwane zapytanie. Jeżeli znikają rekordy spełniające warunek, trzeba zweryfikować, czy aplikacja nie stosuje jednocześnie ukrytego filtra, zakresu dat lub ograniczenia liczby wyników. Problemy z dynamicznym wyszukiwaniem na laptopie lub komputerze PC mogą być związane z aplikacją, systemem plików, bazą lokalną, pamięcią operacyjną albo komunikacją sieciową. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i podzespołów, a diagnostyka może obejmować również sprawdzenie środowiska, w którym działa używany program. |