SYSTEMY

Troszkę o wątkach

W tym wpisie opiszę w mojej subiektywnej opinii najważniejsze informacje odnośnie wątków i tematów z nimi związanymi. Wątek to taki mały proces… Często o wątkach mówi się, że są to takie małe procesy. Ale czy na pewno? Zacznijmy od tego czym jest proces. Proces – to odseparowany od innych procesów działający program: Wątek – to …

Troszkę o wątkach Czytaj dalej »

Jak zmienić kodowanie znaków tekstu? I czy zawsze jest to możliwe?

Aby zmienić kodowanie z jednego na drugie należy najpierw odczytać tekst przy pomocy kodowania źródłowego i później zapisać z kodowaniem docelowym. Czyli trzeba zamienić numerki z jednego kodowania na odpowiedniki z drugiego kodowania (bo na końcu znaki są zapisywane za pomocą liczb). Tyle teorii. Krok po kroku Załóżmy, że mamy następujący tekst: I załóżmy, że …

Jak zmienić kodowanie znaków tekstu? I czy zawsze jest to możliwe? Czytaj dalej »

Czym jest code page?

Code page to po prostu sposób kodowania znaków (czasami także nazywany encoding). Jak odczytać aktualne kodowanie znaków? Windows – linia komend Aby sprawdzić aktualnie używane kodowanie znaków, można użyć polecenia chcp (change code page), które to w wersji bez-argumentowej zwraca aktualnie używane kodowanie: Gdzie znaleźć opis dla code page? – https://en.wikipedia.org/wiki/Code_page– https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers [tylko dla systemu …

Czym jest code page? Czytaj dalej »

Język YAML

Jest to minimalistyczny język pozwalający przechowywać/przesyłać dane opierając się w dużej mierze na idei wcięć. Podwójna spacja służy do grupowania elementów. Minimalistyczny Porównując język YAML do języka JSON można łatwo zauważyć jego minimalizm (po lewej YAML, po prawej JSON): Idea wcięć Język YAML posługuje się wcięciami aby definiować kolejne zagnieżdżenia: Kolekcje Oczywiście nie mogło zabraknąć …

Język YAML Czytaj dalej »

Uwierzytelnianie a autoryzacja [Authentication vs Authorization]

Uwierzytelnianie i autoryzacja to najczęściej powiązane ze sobą procesy będące częścią zabezpieczeń systemów, do których dostęp ma wielu użytkowników. Uwierzytelnianie (niepoprawnie „autentykacja”) Uwierzytelnianie to inaczej sposób w jaki użytkownik poświadcza, że jest kim jest. Uwierzytelnianie może odbywać się poprzez różnego rodzaju mechanizmy takie jake: Autoryzacja Autoryzacja jest to zaś przyznanie odpowiednich uprawnień użytkownikowi systemu. Przykładowo …

Uwierzytelnianie a autoryzacja [Authentication vs Authorization] Czytaj dalej »

BOM – czyli jak odczytywać dokument tekstowy

BOM (Byte Order Mark) są to znaki poprzedzające dokument, dzięki którym programy go odczytujące mogą odczytać różne informacje. Po co to komu? Przykładowo wysyłając pliki za pomocą protokołu HTTP mamy możliwość określenia typu za pomocą nagłówka Content-Type. Innym razem możemy uzgodnić z adresatem w jaki sposób powinien odczytywać dokument. Aczkolwiek czasami pojawiają się sytuacje, gdy …

BOM – czyli jak odczytywać dokument tekstowy Czytaj dalej »

Kolejność bajtów – endianness

Endianness można rozumieć jako kolejność zapisu/odczytu bajtów w pamięci. W dużym uproszczeniu – czy zaczynamy od najbardziej znaczących bitów (big endian) czy może od najmniej znaczących bitów (little endian) słowa. Big endian Zapisuje/odczytuje słowo w pamięci zaczynając od najbardziej znaczącego bitu (patrz literka A po lewej stronie) i wpisuje go pod najmniejszym adresem w pamięci …

Kolejność bajtów – endianness Czytaj dalej »

ASCII, ANSI, UTF-8… – o kodowaniu znaków

Jak komputer przechowuje znaki? Warto na początku przypomnieć, że komputer przechowuje wszystkie dane jako bity (zero lub jeden). I tak w dużej mierze działa kodowanie znaków – danemu znaku przypada jakaś liczba: Znak Reprezentacja binarna … … A 01000001 B 01000010 C 01000011 D 01000100 … … Fragment tabeli ASCII Pierwszy standard kodowania – ASCII …

ASCII, ANSI, UTF-8… – o kodowaniu znaków 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