Parsowanie kodu źródłowego

Kompilator lub interpreter przetwarza kod źródłowy w formie tekstu, aby wyprodukować kod wynikowy. Ponieważ program nie rozumie “po polsku” to język programowania musi mieć odpowiednią formę, która następnie posłuży do wygenerowania algorytmu, który ten plik tekstowy przekształci na inną formę, łatwo rozumialną przez maszynę, czyli zazwyczaj abstrakcyjne drzewo składni. Ten process przetwarszania tekstu nazywamy parsowaniem.

Czytaj dalej Parsowanie kodu źródłowego

Mój własny język programowania

Na Językach i Paradygmatach Programowania mamy duże zadanie zaliczeniowe - napisać interpreter do jakiegoś języka programowania. Postanowiłem skorzystać z okazji i zaprojektować swój własny język programowania, któremu nadałem nazwę Functional Script. Interpreter mamy napisać w Haskellu (jak zacząć pracę z Haskellem?). Poniżej możecie przeczytać opis mojego języka.

Czytaj dalej Mój własny język programowania

Łączenie kilku dysków w Storage Pool

Czasem się zdarza, że zaczyna nam brakować miejsca na dysku. Mając pod ręką kilka starych dysków twardych o małych pojemnościach, możemy je połączyć w jedną dużą przestrzeń dyskową przy użyciu Storage Spaces w systemie Windows. Ja akurat nie miałem fizycznego dysku, więc poniższy opis zawiera również tworzenie dysków wirtualnych VHD.

Czytaj dalej Łączenie kilku dysków w Storage Pool

Bezpieczeństwo twojej aplikacji webowej

Podczas Warszawskich Dni Informatyki 2018 miałem okazję poprowadzić warsztat-prezentację o bezpieczeństwie aplikacji webowych. Mój cel - zastraszyć słuchaczy, aby zawsze mieli z tyłu głowy, że trzeba pamiętać o zabezpieczeniach, już od początku pisania aplikacji, a nie na sam koniec, bo jest to bardzo poważna sprawa.


Czytaj dalej Bezpieczeństwo twojej aplikacji webowej

WannaCry

Na przedmiocie Bezpieczeństwo Systemów Komputerowych miałem bardzo ciekawe zadanie, które wykorzystywało atak na protokół RSA oraz nielosowe dobieranie klucza do szyfrowania symetrycznego. A celem było odzyskanie plików, które padły ofiarą spreparowanego ataku WannaCry.

Czytaj dalej WannaCry