Garbage collection – zliczanie referencji

Garbage collector – potocznie nazywany “odśmiecaczem”. Jest tak naprawdę automatycznym procesem odpowiedzialnym za identyfikowanie nieużywanych obiektów, a następnie za ich usunięcie. Nieużywane obiekty to takie, do których nie ma żadnych referencji, czyli nie mamy możliwości dostania się do tego obiektu. Brak możliwości dostania się do obiektu jest jednoznaczny z usunięciem obiektu, a to oznacza zwolnienie obszaru pamięci. 

Czytaj dalej


Testy – poziomy i typy

Zaczynając zabawę z testowaniem oprogramowania, należałoby wiedzieć jakie w ogóle mamy podziały testów i w jakich sytuacjach stosować każde z nich. Zaznaczmy, że poziomy i typy testów to dwa zupełnie różne, niezależne od siebie podziały. Każdy typ testu może być wykonany na każdym poziomie testowania. Przykładem są testy modułowe oraz systemowe, które dotyczyć mogą zarówno funkcjonalnych, jak i niefunkcjonalnych cech systemu. Niektóre połączenia poziomów i typów występują rzadziej, a inne częściej.

Czytaj dalej


PEP8

Dokument, który chciałam przedstawić zawiera konwencję zapisu kodu Pythonowego. Stosowanie się do niego nie przyspiesza wykonywania programów, ale sprawia, że kod staje się bardziej czytelny. Jeden z autorów PEP8 (Guido van Rossum) zaznacza, że kod jest znacznie częściej czytany niż pisany i właśnie dlatego tak ważne jest dbanie o jego czytelność i jednolitość. Poniżej przedstawiłam kilka ważniejszych zasad PEP8.

Czytaj dalej


Strumienie danych w Javie – java.util.stream

Bardzo fajnym dodatkiem w Javie 8 są strumienie danych. Znajdują się one w pakiecie java.util.stream. Są one odpowiedzialne za przetwarzanie danych w postaci strumieni oraz za operacje na wielu elementach. Do reprezentowania kolekcji w trakcie przetwarzania służy nowy interfejs Stream<T>. Na strumieniach możemy wykonać szereg operacji, aby na końcu pobrać wynik (metoda agregująca) tych operacji bez zmiany stanu samego strumienia.

Czytaj dalej


Strumieniowe bazy danych – definicje

Ostatnimi czasy sporo czasu poświęciłam zagadnieniom strumieniowych języków i baz danych. Związane było to z tworzeniem własnego języka strumieniowego. W dzisiejszych czasach istnieje wiele systemów, w których wymagane jest przetwarzanie bardzo dużych ilości danych, napływających z wielu źródeł w trybie on-line. Z punktu widzenia zarówno użytkownika bardzo ważne jest, aby analiza i prezentacja wyników była ciągła i dynamiczna. Przykładami takich systemów mogą być systemy monitorujące ruch drogowy lub systemy giełdowe. W obu przypadkach niezbędna jest minimalizacja opóźnień przetwarzania danych.

Czytaj dalej


System kontroli wersji – opis oraz definicje

System kontroli wersji służy między innymi do śledzenia informacji o zmianach na plikach. Dostarcza takie możliwości jak przywrócenie zmian, dodanie nowych modyfikacji, czy sprawdzenie jakie zmiany zostały ostatnio wykonane.

VCS – version control system

Systemy kontroli wersji dzielimy na trzy rodzaje:

– lokalne – VCS

– scentralizowane – CVCS – Centralized

– rozproszone – DVCS – Distributed

Czytaj dalej