Author name: Damian

Cztery wymiary architektury [Head First – Software Architecture]

Architekturę systemu można zazwyczaj opisać za pomocą czterech wymiarów:– Charakterystyki– Komponenty Logiczne– Styl– Decyzje Charakterystyki Opisują to jaki ma być system. Przykładowo ma być:– skalowalny (ang. scalability)– dostępny w określonym czasie (ang. availability)– wydajny (ang. performance)– bezpieczny (ang. security)– niezawodny (ang. reliability)– odporny na wywałkę systemu (ang. resilience)- zdolność systemu do odzyskiwania po awariach lub …

Cztery wymiary architektury [Head First – Software Architecture] Czytaj dalej »

JPG vs JPEG

W dużym skrócie – to to samo. Więc czemu mamy dwa rozszerzenia dla jednego typu pliku? Ogólnie pełnym rozszerzeniem jest .jpeg . Lecz w pewnym momencie rozwoju systemów operacyjnych Microsoft rozszerzenia plików były ograniczone do maksymalnie trzech znaków – dlatego skrócono jpeg do jpg. Dzisiaj już nie z tym problemu, dlatego powinno się używać rozszerzenia …

JPG vs JPEG Czytaj dalej »

Grafika rastrowa a wektorowa

Główną różnicą jest to jak są zapisywane. Grafika rastrowa jest zapisywana za pomocą pikseli a wektorowa za pomocą wektorów. Skalowalność Grafika rastrowa nie jest skalowalna w górę – przy powiększaniu obrazu widzimy coraz bardziej rozmazany obraz (widzimy dokładniej piksele) Grafika wektorowa jest w pełni skalowalna – przy powiększaniu (lub zmniejszaniu) od nowa tworzony jest obraz …

Grafika rastrowa a wektorowa Czytaj dalej »

Szyfrowanie hybrydowe (asymetryczne i symetryczne) komunikatów

Szyfrowanie hybrydowe wykorzystuje zarówno szyfrowanie symetryczne i asymetryczne. Pozwala to rozwiązać problemy każdego z szyfrowań osobno. Przebieg komunikacji Jak przedstawia to powyższy diagram – wszystko zaczyna się od wygenerowania jednorazowego (za każdym razem generowany jest nowy klucz) klucza symetrycznego. Po tym może równolegle nastąpić szyfrowanie dokumentu za pomocą tego klucza, oraz szyfrowanie samego klucza za …

Szyfrowanie hybrydowe (asymetryczne i symetryczne) komunikatów Czytaj dalej »

Podpis i weryfikacja

Podpis pliku to po prostu zaszyfrowanie skrótu pliku za pomocą klucza prywatnego. Weryfikacja to będzie odszyfrowanie za pomocą klucza publicznego i sprawdzenie czy skrót się zgadza ze skrótem otrzymanego pliku. Krok po kroku Załóżmy, że mamy plik document.pdf i chcemy go podpisać a później zweryfikować. Wykorzystamy do tego gotowe już klucze: publiczny (public_key.pem) i prywatny …

Podpis i weryfikacja Czytaj dalej »

Certyfikaty – o co tu chodzi?

Certyfikaty dotyczą klucza publicznego i potwierdzają tożsamość posiadacza klucza. Wydawane są przez urząd certyfikacji (Certificate Authority). Po co są certyfikaty? Przede wszystkim aby połączyć tożsamość z kluczem publicznym. Dzięki temu każdy klient (osoba/urządzenie używające klucza publicznego) może sprawdzić z kim się komunikuje (po prostu czyj jest to klucz publiczny). Co zawiera certyfikat? Jak uzyskać certyfikat …

Certyfikaty – o co tu chodzi? Czytaj dalej »

Szyfrowanie asymetryczne komunikatów

Szyfrowanie asymetryczne wykorzystuje klucz asymetryczny – klucz prywatny i publiczny – w celu szyfrowania i deszyfrowania komunikatów. Przykład Przykład będzie wykorzystywał narzędzie openSSL. Komunikat Zapiszmy do pliku komunikat do zaszyfrowania: Wybór szyfru Zanim zaczniemy szyfrować komunikaty, musimy zdecydować jakiego szyfru użyjemy. Aby zestawić dostępne szyfry należy użyć komendy: co zwróci nam listę dostępnych szyfrów (wraz …

Szyfrowanie asymetryczne komunikatów Czytaj dalej »

Szyfrowanie symetryczne komunikatów

Szyfrowanie symetryczne wykorzystuje klucz symetryczny – ten sam dla obydwu stron – w celu szyfrowania i deszyfrowania komunikatów. Przykład Przykład będzie wykorzystywał narzędzie openSSL. Komunikat Zapiszmy do pliku komunikat do zaszyfrowania: Wybór szyfru Zanim zaczniemy szyfrować komunikaty, musimy zdecydować jakiego szyfru użyjemy. Aby zestawić dostępne szyfry należy użyć komendy: co zwróci nam listę dostępnych szyfrów. …

Szyfrowanie symetryczne komunikatów Czytaj dalej »

DevOps – co to takiego?

DevOps – czyli Development + Operations. Jest to metodologia pracy polegająca na zacieśnianiu współpracy pomiędzy różnymi działami przy wykorzystaniu zdefiniowanego przepływu pracy i wspierających to narzędzi. Development Czyli to to co w głównej mierze robią programiści – piszą kod. Operations Operations czy też zwane IT Operations to proces obejmujący:– wdrażanie– utrzymywanie– dostarczanieserwisów potrzebnych w firmie. …

DevOps – co to takiego? Czytaj dalej »

Thread.join()

Jeśli chcemy aby aktualny wątek poczekał na inny wątek zanim ten zakończy swoją robotę można do tego celu wykorzystać metodę Thread.join. Prosty przykład użycia Dzięki wywołaniu w powyższym kodzie metody join mamy pewność, że wątek wywołujący (w tym wypadku metoda main) poczeka na wątek przechowywany w referencji thread. Bez tego nie mamy tej gwarancji (w …

Thread.join() Czytaj dalej »