Cryptopals zestaw 1 ćwiczenie 1

W tym wpisie omówię pierwsze zadanie, a ponieważ jest bardzo proste to opiszę również strukturę projektu który został stworzony na potrzeby rozwiązywania kolejnych zadań. Wszystkie rozwiązania są napisane w języku Python (wersja 3.7) przy użyciu Eclipse z wtyczką PyDev jako IDE. Struktura projektu: src – katalog w którym znajduje się kod źródłowy projektu. common –… Czytaj dalej »

Podstawy kryptografii

Kryptografia czyli temat bardzo ciekawy, ale też modny i głośny (chociaż teraz już mniej ze względu na uczenie maszynowe/głębokie uczenie/SI). Nie jestem ekspertem w tej dziedzinie natomiast, zawsze chciałem zdobyć jakąkolwiek podstawową wiedzę, żeby nie być totalnym laikiem i wiedzieć mniej więcej o co w tym wszystkim chodzi i dlaczego pewne rozwiązania są złe a… Czytaj dalej »

Jak otworzyłem fabrykę.

Dzisiaj przykład jak w praktyce zastosowałem wzorzec projektowy „Fabryka” w moim hobbystycznym projekcie. Od jakiegoś czasu dłubię sobie w czasie wolnym przy swojej „grze” (https://koltys.info/projectx/). Właściwie ciężko to nazwać grą (przynajmniej póki co), przy okazji napotykam wiele ciekawych problemów (i rozwiązań np. trochę wiedzy na temat map złożonych z heksów: https://www.redblobgames.com/grids/hexagons/) a przy okazji mogę… Czytaj dalej »

Jak programować nieobiektowo programując obiektowo

Kolejna ciekawa sytuacja, z którą prawdopodobnie nie jeden programista się prędzej czy później zetknie, albo nawet sam doprowadzi do jej zaistnienia – pozbycie się zalet programowania obiektowego. Kiedy idziemy na rozmowę kwalifikacyjną i zacznie się temat programowania obiektowego zostaniemy zapytani o to co to jest polimorfizm i dziedziczenie. Oczywiście mamy na taką sytuację przygotowaną wykutą… Czytaj dalej »

Sizeof(‚x’) w C i C++

Mała ciekawostka na temat wielkości znaków ‚x’, ‚\001’, ‚\n’ itp. W języku C często inicjalizuje się zmienne typu char w taki sposób: Chyba mało kto zastanawia się na ilu bajtach zapisana jest wartość ‚x’ w takim wyrażeniu a jak już się kogoś o to zapytamy to prawdopodobnie dostaniemy odpowiedź, że jeden bajt (przecież kompilator nie… Czytaj dalej »

Nieużywane zmienne

Krótka ciekawostka. Właściwie to nic odkrywczego jak by się nad tym zastanowić, ale prawdopodobnie mało kto o tym myśli: nieużywane zmienne i informacje kompilatora, że mamy takie w kodzie. Dziś miała miejsce taka sytuacja. Została zaimplementowana poprawka, projekt kompilował się lokalnie na komputerze osoby, która naprawiała ten problem, kod został wysłany, żeby obejrzeli go inni… Czytaj dalej »

Konfiguracja WordPress

Pierwszy wpis inny niż planowałem, bo o WordPressie a dokładnie narawie błędu powodującego brak możliwości ładowania obrazków, które można potem np. dodać do wpisu. Pomyślałem, że warto ten problem i jego rozwiązanie opisać bo nigdzie nie potrafiłem znaleźć opisu, który by zawierał wszystkie kroki potrzebne, aby pozbyć się tego błędu. W głównym katalogu, gdzie zainstalowany… Czytaj dalej »

Pierwszy wpis. Ciekawe z ilu…

Blog powstał jako miejsce do dokumentowania moich postępów w poprawianiu i uzupełnianiu wiedzy z różnych dziedzin programowania. Większość problemów o których będę tu pisał mam nadzieję rozwiązać przy pomocy języków C++ oraz Python. Na początku główny nacisk zamierzam kłaść na odświeżenie wiedzy o algorytmach oraz na rozwiązywaniu podstawowych problemów związanych z kryptografią. Cel długoterminowy: poprawa… Czytaj dalej »