Author name: Damian

Domain-Driven Design – Eric Evans (streszczenie) [ZAWIESZONE]

Przedstawiam tutaj streszczenie książki Erica Evansa Domain-Driven Desing Tackling Complexity in the Heart of Software (kolejne rozdziały będą się pojawiały wraz z postępem w czytaniu; na ten moment zawiesiłem czytanie tej książki przez prozaiczny powód – są pozycje na rynku, które mogą wnieść więcej do mojego asortymentu na ten moment niż niniejsza książka). Part I …

Domain-Driven Design – Eric Evans (streszczenie) [ZAWIESZONE] Czytaj dalej »

Ścieżka kanoniczna (canonical path)

Obok ścieżki względnej i absolutnej występuje także ścieżka kanoniczna. Powstaje ona poprzez usunięcie wszystkich odniesień typu ./ lub ../ . Dzięki temu możliwe jest porównywanie ścieżek do plików w unikalny sposób (tylko ścieżka kanoniczna jest unikalna). Przykład Zakładając następującą strukturę katalogów: Dla ścieżki względnej:.\Main.javaścieżką absolutną będzie (zwróć uwagę na \.\ w ścieżce):\IdeaProjects\Test\.\Main.javazaś ścieżką kanoniczną będzie:\IdeaProjects\Test\Main.java

Różnica pomiędzy mock a spy. I co to jest stub?

W dużym skrócie – Mock domyślnie nie robi nic (jeśli musi coś zwrócić to zwraca wartości null). Spy to oryginalny obiekt, który może być szpiegowany (np. sprawdzanie czy metoda została wywołana). Obydwa pozwalają na to, żeby nadpisać ich metody – taka nadpisana metoda nazywana jest stubem. Trochę więcej szczegółów Załóżmy że mamy interfejs: Czym będzie …

Różnica pomiędzy mock a spy. I co to jest stub? Czytaj dalej »

Ślepy zapis – blind write

Jest to sytuacja gdy dokonywany jest zapis do bazy bez poprzedzającego go odczytu. Nazywany ślepym ponieważ nie interesuje nas stan bazy danych przed zapisem – modyfikujemy coś na ślepo. Sytuacja ta dotyczy transakcji (a nie pojedynczych operacji). Przykłady Przykład ślepego zapisu Co zatem nie będzie ślepym zapisem?

Harmonogram wykonywania transakcji

Silniki baz danych w celu obsługi współbieżności transakcji wykorzystują harmonogramy. Hipotetyczna sytuacja: W bazie danych są dwa zasoby A i B. W pewnym momencie do bazy danych przychodzą dwie transakcje do wykonania. A baza danych ma za zadanie stworzyć odpowiedni harmonogram. Jak można wykonać te dwie transakcje równolegle? Aby obsłużyć taką sytuację można wykorzystać harmonogram …

Harmonogram wykonywania transakcji Czytaj dalej »

Blokada elementów bazy danych – DB lock

Bazy danych w celu uniknięcia problemów z równoległym dostępem do danych udostępniają mechanizm blokowania (database lock). Czego może dotyczyć blokada? Blokada może dotyczyć różnych elementów bazy danych, takich jak: Typy blokad Blokada współdzielona (shared lock) – jest tworzona przy odczycie danych. Pozwala innym transakcjom tylko na współbieżny odczyt, jeśli będą chciały coś zmodyfikować to muszą …

Blokada elementów bazy danych – DB lock Czytaj dalej »

Słowo kluczowe volatile w Java

Idea volatile wydaje się być prosta – hej JVM! nie używaj optymalizacji i pamięci podręcznej (cache), raczej sięgnij bezpośrednio do pamięci. Możliwa sytuacja bez volatile Jak widać na powyższym diagramie bez użycia słowa kluczowego volatile może się zdarzyć, że jeden wątek otrzyma przy odczycie wartość 5 a drugi 0. Prawidłową wartością jest 5, ale wątek …

Słowo kluczowe volatile w Java Czytaj dalej »