programowanie

 0    36 speciālā zīme    kacperkamin
lejupielādēt mp3 Drukāt spēlēt pārbaudiet sevi
 
jautājums język polski atbilde język polski
Rodzaje błędów i wyjątków
sākt mācīties
syntax, logic, runtime, linkowania, semantyczne
paradygmat projektowania obiektowego
sākt mācīties
polimorfizm, abstrakcja, hermetyzacja, dziedziczenie
wzorce projektowe
sākt mācīties
kreacyjne, strukturalne(łączenie), behawiorystyczne(komunikacja)
Metoda Wytwórcza (Factory Method)
sākt mācīties
Definiuje interfejs do tworzenia obiektu, ale pozwala klasom pochodnym zdecydować, jakiej klasy instancję utworzyć
Singleton
sākt mācīties
Gwarantuje, że klasa ma tylko jedną instancję i zapewnia globalny punkt dostępu do niej. Zastosowanie: Logger
Adapter (Wrapper)
sākt mācīties
Pozwala na współpracę klasom o niekompatybilnych interfejsach. Działa jak "przejściówka" elektryczna
Dekorator
sākt mācīties
Pozwala dynamicznie (w trakcie działania programu) dodawać nowe obowiązki/funkcje do obiektu. Jest alternatywą dla dziedziczenia
Obserwator (Observer)
sākt mācīties
Definiuje zależność "jeden do wielu", tak że zmiana stanu jednego obiektu powoduje automatyczne powiadomienie i odświeżenie innych obiektów.
S
sākt mācīties
Single Responsibility Principle, Klasa powinna mieć tylko jedno zadanie i być odpowiedzialna za jedną część logiki biznesowej.
O
sākt mācīties
Open/clsd - Kod powinien być otwarty na rozszerzenia, co oznacza, że można dodawać nowe funkcjonalności bez modyfikacji istniejących klas
L
sākt mācīties
Liskov Substitution Principle, Klasa pochodna powinna w pełni zastępować klasę bazową bez zmieniania jej zachowania.
I
sākt mācīties
Interface Segregation Principle, Interfejsy powinny być małe i wyspecjalizowane, aby klasy implementowały tylko metody, których rzeczywiście potrzebują.
D
sākt mācīties
Dependency Inversion Principle
Rodzaje i przykłady optymalizacji
sākt mācīties
Optymalizacja przez kompilator, Optymalizacja w kodzie, Optymalizacja sprzętowa, Loop Unrolling (Rozwijanie pętli
Główne techniki optymalizacji
sākt mācīties
Inlining (Wstawianie funkcji w miejscu wywołania), Dead Code Elimination, RVO (Return Value Optimization):
malloc/free
sākt mācīties
Rezerwuje blok pamięci o podanym rozmiarze w bajtach, Zwraca: void* (wskaźnik beztypowy). Trzeba go rzutować (castować) na właściwy typ,śmieci, Błąd: Jeśli brakuje RAMu, zwraca NULL//free usuwa dane z pamięci
new i delete
sākt mācīties
Alokuje pamięć na stercie (jak malloc), Wywołuje konstruktor obiektu, Zwraca wskaźnik właściwego typu, Wywołuje destruktor, Zwalnia pamięć operacyjną.
Rodzaje argumentów w python
sākt mācīties
Pozycyjne (Positional): Standardowe, liczy się kolejność, Nazwane (Keyword): klucz=wartość. Kolejność nie ma znaczenia, Domyślne (Default): def func(a=10). Jeśli nie podasz, użyje 10
map(x?, x?)
sākt mācīties
(funkcja, kolekcja): Wykonuje funkcję na każdym elemencie. Uwaga: W Pythonie 3 zwraca iterator (leniwy), a nie listę. Aby zobaczyć wynik, trzeba rzutować: list(map(...)).
filter(x?, x?)
sākt mācīties
Zwraca tylko te elementy, dla których funkcja zwróciła True
reduce(funkcja, kolekcja)
sākt mācīties
"Zwija" listę do jednej wartości (np. suma, iloczyn). W Pythonie 3 przeniesione do modułu functools.
SOLID/CPP i PYTONG
sākt mācīties
cpp: klasy abstakcyjne, brak dużego interfejsu, polimorfizm. Python: DuckTyping, ISP dla czytelności, dekoratory
Metody specjalne w python
sākt mācīties
umożliwiają obiektom integrację z wbdwn mechanizmami języka. Dzięki nim programi może zdefić, jak własne klasy mają reagować na stnrd operacje, takie jak inicjal, konwersja na tekst czy użycie operatorów matemt, co jest mechaniz realiz przecią operatorów
__init__
sākt mācīties
To najczęściej używana metoda. Odpowiada za ustawienie początkowego stanu obiektu., po wywołaniu obiekt już istnieje i jest wypełniany danymi
__str__
sākt mācīties
zmienia obiekt na napis ma być czytelna dla użytkownika
__repr__
sākt mācīties
zmeinia obiekt na napis jest wywoływany w debuggerze i ma być jednoznaczny dla programisty np(klient(id=5, imie='Jan'))
Operatory arytmetyczne (__add__, __sub__
sākt mācīties
Definiują w jaki sposób obiekty danej klasy są dodawane, odejmowane
__len__
sākt mācīties
obiekt może działać jak lista
math
sākt mācīties
Do operacji na liczbach rzeczywistych (float), math. pi, math. e, math. inf, sin, cos, sqrt
itertools
sākt mācīties
wydajnego przetwarzania kolekcji. product() – Iloczyn kartezjański. Zastępuje zagnieżdżone pętle for, permutations() – Wszystkie możliwe ustawienia elementów, cycle()
functools
sākt mācīties
programowanie funkcyjne, reduce() "Zwijanie" listy do jednej wartości, partial() "Zamrażanie" argumentów. Tworzysz funkcję, ma już wypełnione niektóre parametry starej funkcji, lru_cache() Dekorator, który automatycznie dodaje pamięć podręczną do funkcji
collections
sākt mācīties
collections to moduł Pythona z zaawansowanymi kontenerami danych. Najważniejsze: namedtuple (krotki z nazwanymi polami), deque (szybka kolejka dwustronna), Counter (zliczanie elementów) oraz defaultdict (słownik z domyślną wartością klucza).
std: thread
sākt mācīties
Jest to klasa (zdefiniowana w nagłówku <thread>), będąca obiektowym wrapperem na identyfikator wątku systemowego
Wyścig danych
sākt mācīties
stan nieokreślony występujący, gdy co najmniej dwa wątki uzyskują dostęp do tego samego obszaru pamięci jednocześnie, przy czym: Przynajmniej jeden z nich wykonuje operację zapisu. Dostęp nie jest synchronizowany brak operacji atomowych lub blokad
Sekcja krytyczna
sākt mācīties
fragment kodu, w którym następuje dostęp do zasobu współdzielonego. Wymaga ona serializacji dostępu – w danej chwili instrukcje z tego bloku mogą być wykonywane tylko przez jeden wątek
std: mutex
sākt mācīties
to mechanizm synchronizacji wątków w C++. Działa jak blokada: tylko jeden wątek może naraz uzyskać dostęp do sekcji krytycznej. Zapobiega to wyścigom (race conditions). Najbezpieczniej używać go z std: lock_guard

Lai ievietotu komentāru, jums jāpiesakās.