Symulator pożaru lasu – dodajemy narzędzia

Semestr się już zakończył … Nie dałem rady opisywać na bieżąco rozwoju projektu symulatora pożaru lasu. Na szczęście wszystko zaliczyłem w pierwszym terminie i teraz mam trochę wolnego czasu. Dzięki temu moge nadrobić wymuszone przez wyższe czynniki zaległości. Zapraszam do lektury 🙂 Co będziemy robili? Dzisiaj dodamy do programu podstawowe …

Matura z informatyki 2018 – zadanie WEGA (C++)

Postanowiłem, że obok wpisów na temat bardziej zaawansowanych zakamarków języka C++ postaram się przysłużyć co nieco maturzystom. A w związku z tym na blogu pojawi się niebawem seria wpisów, w których będziemy analizowali zadania maturalne z ubiegłych lat. Na pierwszy ogień pójdą polecenia wymagające programowania. Językiem, w którym będziemy kodowali …

Programowanie współbieżne w języku C++ – synchronizacja

W poprzedniej części dowiedziałeś się czym są wątki oraz po co ich używać. Poznałeś także podstawową metodę synchronizacji, którą jest muteks, wprowadzony wraz z wersją C++11. Wierzę, że jest to ogrom przydatnej wiedzy, którą z pewnością kiedyś wykorzystasz. Zapoznaj się więc z kolejną częścią serii która sprawi, że praca z …

Aplikacje wielowątkowe w języku C++

Czy pisałeś kiedyś program, który potrzebował dużo mocy CPU? Zastanawiałeś się dlaczego twoja aplikacja używa maksymalnie jednego rdzenia, nawet jeśli masz ich kilka/kilkanaście? Czy tworzyłeś kiedyś program, która odczytywał z dysku duży plik? I w tym momencie, w którym ten plik był odczytywany program nie reagował na polecenia użytkownika? No …

Wyrażenia lambda – użyteczna nowość C++11.

Nowsze standardy C++ wprowadzają wiele udogodnień, które sprawiają że nam – programistom – żyje się wygodniej. Musimy pisać coraz mniej kodu, otrzymując tę samą funkcjonalność. Sprawia to, że uzyskujemy większą wydajność. Poza tym, mniejsza ilość lepiej i zwięźlej napisanego kodu zwiększa jego czytelność. Dzięki temu ludzie, którzy obejmą projekt po …

Symulator pożaru lasu – tworzymy okienko

W poprzedniej części stworzyliśmy „podstawy podstaw” dla naszego symulatora pożaru lasu. Napisaliśmy podstawowe klasy – Tree, który przechowuje właściwości pojedynczego drzewa/pożaru, ForestMap odpowiedzialny za przechowywanie informacji o stanie całej planszy oraz szereg klas pomocniczych takich jak Coordinates czy SingleCell. Postawimy kolejny mały krok. Stworzymy klasę, która będzie obsługiwała wyświetlanie drzew/pożarów …

SSH – autoryzacja za pomocą klucza/certyfikatu

Zabezpieczenie zdalnego dostępu do serwera jest niezmiernie ważne. Atakujący, hackerzy i crackerzy tylko czekają na to, aż zrobisz jeden malutki błąd, który pozwoli im na dołączenie twojego VPS-a czy dedyka do botnetu. Wektory ataku mogą być bardzo różne. Zaczynając od luk w CMS-ie, kończąc na błędach w konfiguracji serwera i słabych hasłach. …

Symulator pożaru lasu – założenia i pierwsze kroki

Na studiach spotkasz się z wieloma typami zajęć. Są laboratoria, są ćwiczenia i wiele innych. Spośród wszystkich najbardziej lubię projekty. Mam wyznaczone zadanie, które muszę wykonać do określonego dnia. I nikt mnie nie zmusza do tego aby użyć konkretnego sposobu rozwiązania problemu. Kłopotem nie jest także czas. Co prawda istnieją odgórnie …

Uniform Initialization – prostota wypełniania struktur danych

Programując w C++, z pewnością wiesz jak inicjuje się zmienne. Nie jest to czynność skomplikowana. Trochę więcej problemów zachodzi kiedy musisz zainicjować tablicę lub jakiś kontener. Stosujesz wtedy pewnie pętlę for. Jeśli musisz dodać kilka lub kilkanaście elementów do kontenera vector, stosujesz metodę push_back, wywołując ją ręcznie albo w pętli. …

Dodajemy szyfrowanie – Apache, Let’s Encrypt Certbot i SSL

Lwia część stron internetowych posiada już certyfikat. „Zielona kłódeczka”, która zapewnia nas o bezpieczeństwie staje się coraz bardziej istotnym punktem witryny. Wg raportu Google w 2016 roku prawie 25% witryn korzystało z protokołu HTTPS. Google i inne firmy już od dawna informują, że nieszyfrowane strony będą miały gorsze pozycjonowanie. W rezultacie dotrze do nich …