Moja lekcja

 0    59 fiszek    marcinkow1619
drukuj graj sprawdź się
 
Pytanie - Odpowiedź -
Lazy execution
rozpocznij naukę
wykonanie odroczenia jest opóźniona do momentu, gdy faktycznie wymagana jest zrealizowana wartość.
string i StringBuilder, immutability
rozpocznij naukę
immutability czyli przypisanie wartosci do stringa która nie może być zmieniona. Stringbuilder nie tworzy nowego stringa tylko dodoje wartosc do już istneijącej.
Value and reference types
rozpocznij naukę
to dwie główne kategorie typów w c#. W value bezposrednio przechowuje typ, w reference przechowuje wskaźnik na ta zmienna
Stack vs Heap
rozpocznij naukę
ogólnie pamięć. Stack to przestrzen pamięci po kolei, a heap to wszystko w jednym worze
Bulk insert(SqlBulkCopy)
rozpocznij naukę
w przypadku kiedy wprowadzamy duzo danych w pętli do bazy.
Yield return/break
rozpocznij naukę
mówi iteratorowi że doszedł do breaka
Enumerable vs Ilist vs Icollection
rozpocznij naukę
Enumerable jest w tej hierarchi najwyżej, kolekcja na drugim kroku, i na końcu list. Enum jest kontenerem który może trzymac wartosci, dziedziy z enuma i dodaje takie rzeczy jak add, remove, update,
Extension method
rozpocznij naukę
metody rozszerzeń umożliwiają dodanie metod do istniejących typów bez tworzenia anowego typu pochodnego.Np. przy stringu jak uzyjemy using Extensions możemy uzyc na zmiennej typu string metody IsValidEmail()
Hashset/Dictionary
rozpocznij naukę
kolekcje. Żadna z nich nie jest lepsza. Hashset jest lepsze kiedy chcesz trzymać niepoukładaną kolekcje elementów, dictionary jest dobre jak chcesz połączyć zbiór kluczy z inna kolekcja zwaną kluczami np.
Kowariancja/Kontrawancja
rozpocznij naukę
umożliwiają niejawną konwersję odwołania dla typów tablic, typów delegatów i argumentów. Kowariancja zachowują zgodność przypisania a kontrawancja go odwraca
Async/await
rozpocznij naukę
async oz naczenie metody asynchronicznej, await await towarzyszy wywołaniu metody asynchronicznej
Boxing
rozpocznij naukę
Utworzenie typu referencyjnego na podstawie value type
lazy loading i eager loading
rozpocznij naukę
eager leci raz z zapytaniem i zbiera cala baze, lazy wypytuje po trochy
Idisposable
rozpocznij naukę
interfejs który ma tylko jedną metodę. Dispose() która służy do uwolnienia niezarządzanych resources, takimi jak pliki, połączeniami z bazami danych/
Idictionary
rozpocznij naukę
należa do collection. They store data in Key and Value pair.
collection jakie znam
rozpocznij naukę
są trzy takie główne seckcje System. Collections, System. Collections. Concurrent, System. Collections. Generic. iList ii. hashSet iii. HashTable iv. Dictionary v. Array vi. Queue vii. Stack viii. Heap
collections. generic namespace
rozpocznij naukę
zawiera interfejsy oraz klasy które definiują generic ollekcje. Tu jest list, queque, stack (wszystkie typu generycznego)
collections zwykły
rozpocznij naukę
ma te same typy co w generycznym nie trzeba castingu robić. Nie trzeba Dog d = (Dog)a[0]; wystarczy Dog d = a[0];
Wzorzec singleton vs klasa statyczna
rozpocznij naukę
singleton jedna instancja klasy globalnie. Różnice: nie można stworzyć instancji klasy statycznej, statyczna nie ma konstuktora,
CTE(common table expressions)
rozpocznij naukę
wspólne wyrazenia tablicowe, mogą być wszedzie i poprawiają widocznośc kodu
Kohezja w programowaniu
rozpocznij naukę
to sposób określenia jak bardzo poszczególne elementy do siebie pasują
Czystość kodu(SOLID/DRY/KISS)
rozpocznij naukę
is an acronym for 5 important design design. SINGLE RESPONSIBILITY, OPEN\CLOSE, Liskov substitution principle, Interface segregation principle, Dependency inversion principle
Single responibility
rozpocznij naukę
(Zasada jednej odpowiedzialności) Klasa powinna mieć tylko jedną odpowiedzialność (nigdy nie powinien istnieć więcej niż jeden powód do modyfikacji klasy).
one responsibility. Class should just one resposibility. Class should not have more than one reason for modification.
OPEN\CLOSE
rozpocznij naukę
(Zasada otwarte-zamknięte) Klasy (encje) powinny być otwarte na rozszerzenia i zamknięte na modyfikacje.
Class should be opened for extension but not for modifications.
Liskov substitution principle
rozpocznij naukę
(Zasada podstawienia Liskov) Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.
when function use refereence or pointers to base classes, they also could use every object that inherits from base class without even good knowladge about this objects
Interface segregation priniple
rozpocznij naukę
(Zasada segregacji interfejsów) Wiele dedykowanych interfejsów jest lepsze niż jeden ogólny.
more smaller interfaces are better than one big one
Delegaty
rozpocznij naukę
Delegaty są przede wszystkim wykorzystywane do implementacji zdarzeń oraz wywołań zwrotnych metod(call-back).
Refleksja
rozpocznij naukę
proces dzięki któremu program komputerowy możee być modyfikowany w trakcie działania w sposób zależny od własnego kodu
Garbage collector
rozpocznij naukę
automatycznie wywala utworzone obiekty z pamięci w #
Zajmuje się automatycznym czyszczeniem pamięci przez co można odnieść wrażenie, że w wielu firmach zamiast dążenia do optymalizacji kodu dokłada się po prostu pamięć RAM do serwerów i tyle.
Lock
rozpocznij naukę
oznacza część krytyczną kodu która zablokuje przepływ kodu dla innych wątków aż do jego zwolnienia
Ref vs Out
rozpocznij naukę
sa inaczej traktowane w run timie ale przy kompliacji niczym się nie różnią
Single vs SingleOrDefault
rozpocznij naukę
LINQ: orDefault zwróci np. null w przypadku gdy nie ma zadnego elemtu w tabeli
Iqueryable(EF) vs IEnumerable
rozpocznij naukę
w przypadku iEnumerable takie zapytanie leci do bazy select *, w przypadku Iqueryyable leci select top(5)
try/catch/finally throw ex vs throw
rozpocznij naukę
final po try i catchu, część kodu która ma być zrobiona nawet jak catch poleci
Const vr. Readonly
rozpocznij naukę
const można tylko przy deklaracji przypisać, readonly przy deklaracji lub w konstruktorze.
const can be only declarated when created, readonly can be also declarated in contructor.
Using
rozpocznij naukę
tworzy alias dla przestrzeni nazw lub importuje inną przestrzeń
Base co oznacza
rozpocznij naukę
używane w przypadku klasy bazowej i pochodnej. Można wywołać tak metodą z klasy bazowej base. GetInfo()
Dependency inversion principle
rozpocznij naukę
(Zasada odwrócenia zależności) Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych - zależności między nimi powinny wynikać z abstrakcji.
high-lever modules should not be dependence from low-lever modules. Dependence between them should be in abstraction.
Rodzaje joinów
rozpocznij naukę
zwykły, LEFT, RIGHT, CROSS, (LEFT, RIGHT, FULL)
Index, B-drzewo
rozpocznij naukę
to rozmieszczenie listy kluczy w strukturę drzewa. Wszystko w celu optymalizacji
Clustered vs Non-clustered Index
rozpocznij naukę
cluster sortuje dane w samej tabeli, no cluster nie robi tego fizycznie. Nonluster ma indeksy odzielnie od samej bazy
Cluster sorts data in database by indexes manually bu not cluster does not do that
Partycjonowanie tabeli
rozpocznij naukę
umożliwia dzielenie tabeli na mniejsze grupy danych,
Procedura vs funkcja vs widok
rozpocznij naukę
funkcja zawsze zwraca jedną wartośc minimum, rocedura tez może ale w sposób nie jawny.
Transakcje w SQL
rozpocznij naukę
to blok operacji wykonywanych na bazie danych jako pojedyncza instrukcja
Serializacja
rozpocznij naukę
zapisanie stanu obiektu, do strumienia bajtów się go zapsiuje
Deadlock
rozpocznij naukę
to sytuacja w której wątki się blokują ponieważ dwa albo wiecej wątków czeka aż inny się wykona
this is a situation in witch thread block each other
Enkapsulacja
rozpocznij naukę
hermetyzacja, czyli public, private, protected ipt
REST GET
rozpocznij naukę
They should be independent. It does not matter if POST or PUT has changed
REST POST
rozpocznij naukę
Post vs put. Post request are made on resource collection, put request are made on single resource.
REST PUT
rozpocznij naukę
Is is used primary to update data
REST HTTP PATCH
rozpocznij naukę
Patch is different from put because it updates data directly on database but put is replace it data with new one
C# - Design patterns Creational
rozpocznij naukę
"Abstract Factory - Creates an instance of several families of classes Builder - Separates object construction from its representation Factory Method - Creates an instance of several derived classes
C# - Design patterns Structural
rozpocznij naukę
"Adapter - Match interfaces of different classes Bridge -Separates an object’s interface from its implementation Composite -A tree structure of simple and composite objects Facade -A single class that represents an entire subsystem
C# - Design patterns Behavioral
rozpocznij naukę
Iterator Sequentially access the elements of a collection Mediator Defines simplified communication between classes Observer A way of notifying change to a number of classes Strategy Encapsulates an algorithm inside a class
C# - Design patterns Factory method
rozpocznij naukę
jeden z waznjieszych wzorców. Pozwala zdefiniować interfejs do tworzenia obiektów, ale podklasy decydują z których klas tworzyć instancje
C# - Design patterns Abstract factory
rozpocznij naukę
zapewnie interfejs do tworzenia rodziny relacji albo zależnych obiektów bez specyfikowania konkretnych klas.
C# - Design patterns BUILDER
rozpocznij naukę
mniej popularny niż factory czy abstract. Oddziela kontruktor skomplikowanego obiektu od głównej reprezentacji tego obiektu. Więc ten sam proces może być inczej zaprezentowany.
C# - Design patterns Strategy
rozpocznij naukę
definiuje rodzinę algorytmów, hermetyzuje każdy z nich, i tworzy je wymiennymi. Ten wzorzec pozwala algorytmowi działać niezależnie od klienta który go używa.
General 1 + n problem
rozpocznij naukę
winą jest lazy loading. Zapytanie zaczyna wypytwac po kolei az zbierze każde pole w bazie odzielnym zapytaniem.

Musisz się zalogować, by móc napisać komentarz.