Skip to content

Commit

Permalink
add lzss project
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziumper committed Feb 19, 2024
1 parent a3802f8 commit b3e4dbd
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 45 deletions.
4 changes: 2 additions & 2 deletions _i18n/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,14 @@ projects:
project3: Ludo - Just Chill Out
project4: Night Catcher
project5: Polygangs
project6: Ptest
project6: LZSS
descriptions:
project1: Augmented reality turn based board game for the Android platform
project2: Monte carlo simulation app written in C++
project3: Ludo board game made in Unity
project4: Skill based mobile game for Android made in Unity
project5: Gangster simulator in a Polish city from the 90s.
project6: a project with no image
project6: Implementation of loseless data compression algorithm - LZSS
categories:
fun: fun
work: work
Expand Down
33 changes: 33 additions & 0 deletions _i18n/en/_projects/lzss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<div class="links">
<a href="https://github.com/Ziumper/LZSS" class="btn btn-amber btn-sm z-depth-0" role="button">View code <i class="fa-brands fa-github"></i></a>
</div>

# Project Description

The aim of the project was to implement the [LZSS](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski) lossless data compression algorithm, optimizing data storage. It also utilizes the [KMP](https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm) algorithm for searching repeated data sequences and building a dictionary of words and a table of code displacements. The project was carried out during engineering studies as a thesis at the University of Warmia and Mazury in Olsztyn.

<div class="row justify-content-sm-center">
<div class="col-sm-8 mt-3 mt-md-0">
{% include figure.liquid path="assets/img/projects/lzss.jpg" title="agents app gui" class="img-fluid rounded z-depth-1" zoomable=true %}
</div>
</div>
<div class="caption">
GUI application screen
</div>

## Features

The following features were implemented as part of the project:

- operations on binary data
- implementation of the KMP algorithm and its integration in the information encoding process
- implementation of an application allowing compression and lossless decompression of data with a convenient graphical interface
- export of compression results to a file with its own data format and header
- ability to download a report with compression results
- compression status bar

## Technologies Used

As part of the project implementation, I became acquainted with the following technologies and tools:
- C++
- WinApi
8 changes: 4 additions & 4 deletions _i18n/pl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,15 @@ projects:
project2: Agents App
project3: Ludo - Just Chill Out
project4: Night Catcher
project5: ToDoApp
project6: Projekt 6
project5: Polygangs
project6: LZSS
descriptions:
project1: Gra w rozszerzonej rzeczywistości na platformę Android
project2: Aplikacja wykonująca symulacje Monte Carlo napisana w C++
project3: Implmentacja słynnej gry w "Chińczyka" zrobiona w Unity
project4: Zręcznościowa gra mobilna zrobiona w Unity
project5: projekt z obrazem w tle
project6: projekt bez obrazu
project5: Symulator życia gangsterskiego w mieście z lat 90 w stylu low-poly
project6: Implementacja bezstratnego algorytmu kompresji danych LZSS
categories:
fun: zabawa
work: praca
Expand Down
78 changes: 39 additions & 39 deletions _i18n/pl/_projects/agents-app.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
<div class="links">
<a href="https://github.com/Ziumper/AgentsApp" class="btn btn-amber btn-sm z-depth-0" role="button">Zobacz kod <i class="fa-brands fa-github"></i></a>
<a href="https://github.com/Ziumper/AgentsApp/releases" class="btn btn-amber btn-sm z-depth-0" role="button">Pobierz aplikacje <i class="fa fa-download"></i></a>
</div>

# Opis projektu

Celem projektu było stworzenie symulacji czasu rzeczywistego schematu budowania reputacji i zaufania, oferując cenne spostrzeżenia na temat złożoności interakcji międzyludzkich i ekosystemów cyfrowych. Symulacja dostarczyła danych na temat dynamiki budowania zaufania i reputacji. Opracowałem narzędzia do analizy danych, które umożliwiły użytkownikom wizualizację trendów, wzorców i korelacji w symulowanym ekosystemie. Ta funkcja ułatwiła głębsze zrozumienie czynników wpływających na zaufanie.
Projekt został zrealizowany podczas studiów magisterskich na Politechnice Gdańskiej.

<div class="row justify-content-sm-center">
<div class="col-sm-8 mt-3 mt-md-0">
{% include figure.liquid path="assets/img/projects/agents_app2.png" title="agents app gui" class="img-fluid rounded z-depth-1" zoomable=true %}
</div>
</div>
<div class="caption">
Ekran GUI aplikacji
</div>

## Funkcjonalnośći

W ramach projektu zaimplementowane zostały następujace funkcjonalności:

- okno logowania, które pozwala śledzić, filtrować i lepiej zrozumieć zachodzące procesie symulacji etapy budowania zaufania
- możliwość edycji wprowadzanych parametrów takich jak początkowy poziom zaufania, liczba agentów czy liczby wprowadzanych
- tryb boost, pozwalający na szybsze wykonywanie obliczeń i symulacji
- eksport wyników symulacji do pliku MSOffice Excel
- podgląd w czasie rzeczywistym wyników symulacji
- pasek stanu symulacji

## Wykorzystane technologie

W ramach realizacji projektu udało mi się zapoznać z następującymi technologami i narzędziami
- C++
- ImGui
- ImPlot
- GoogleTests
- OpenXLSX
- Visual Studio
<div class="links">
<a href="https://github.com/Ziumper/AgentsApp" class="btn btn-amber btn-sm z-depth-0" role="button">Zobacz kod <i class="fa-brands fa-github"></i></a>
<a href="https://github.com/Ziumper/AgentsApp/releases" class="btn btn-amber btn-sm z-depth-0" role="button">Pobierz aplikacje <i class="fa fa-download"></i></a>
</div>

# Opis projektu

Celem projektu było stworzenie symulacji czasu rzeczywistego schematu budowania reputacji i zaufania, oferując cenne spostrzeżenia na temat złożoności interakcji międzyludzkich i ekosystemów cyfrowych. Symulacja dostarczyła danych na temat dynamiki budowania zaufania i reputacji. Opracowałem narzędzia do analizy danych, które umożliwiły użytkownikom wizualizację trendów, wzorców i korelacji w symulowanym ekosystemie. Ta funkcja ułatwiła głębsze zrozumienie czynników wpływających na zaufanie.
Projekt został zrealizowany podczas studiów magisterskich na Politechnice Gdańskiej.

<div class="row justify-content-sm-center">
<div class="col-sm-8 mt-3 mt-md-0">
{% include figure.liquid path="assets/img/projects/agents_app2.png" title="agents app gui" class="img-fluid rounded z-depth-1" zoomable=true %}
</div>
</div>
<div class="caption">
Ekran GUI aplikacji
</div>

## Funkcjonalnośći

W ramach projektu zaimplementowane zostały następujace funkcjonalności:

- okno logowania, które pozwala śledzić, filtrować i lepiej zrozumieć zachodzące procesie symulacji etapy budowania zaufania
- możliwość edycji wprowadzanych parametrów takich jak początkowy poziom zaufania, liczba agentów czy liczby wprowadzanych
- tryb boost, pozwalający na szybsze wykonywanie obliczeń i symulacji
- eksport wyników symulacji do pliku MSOffice Excel
- podgląd w czasie rzeczywistym wyników symulacji
- pasek stanu symulacji

## Wykorzystane technologie

W ramach realizacji projektu udało mi się zapoznać z następującymi technologami i narzędziami
- C++
- ImGui
- ImPlot
- GoogleTests
- OpenXLSX
- Visual Studio
34 changes: 34 additions & 0 deletions _i18n/pl/_projects/lzss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<div class="links">
<a href="https://github.com/Ziumper/LZSS" class="btn btn-amber btn-sm z-depth-0" role="button">Zobacz kod <i class="fa-brands fa-github"></i></a>
</div>

# Opis projektu

Celem projektu była implementacja algorytmu bezstratnej kompresji danych [LZSS](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski) optymalizującego przechowywanie danych. Wykorzystuje on również algorytm [KMP](https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm) do wyszukiwania powtarzających się ciągów danych i budowania słownika wyrazów i tabeli przesunięć kodowych.
Projekt został zrealizowany podczas studiów inżynierski jako praca dyplomowa na Uniwersytecie Warmińsko-Mazurskim w Olsztynie.

<div class="row justify-content-sm-center">
<div class="col-sm-8 mt-3 mt-md-0">
{% include figure.liquid path="assets/img/projects/lzss.jpg" title="agents app gui" class="img-fluid rounded z-depth-1" zoomable=true %}
</div>
</div>
<div class="caption">
Ekran GUI aplikacji
</div>

## Funkcjonalnośći

W ramach projektu zaimplementowane zostały następujace funkcjonalności:

- operacje na danych binarnych
- implementacja algorytmu KMP oraz jego integracja w process kodowania informacji
- implementacja aplikacji pozwalającej na kompresje i bezstratną dekompresję danych z wygodnym interfejsem graficznym
- eksport wyników kompresji do pliku z własnym formatem danych i nagłówkiem
- możliwość pobrania raportu z wynikami kompresji
- pasek stanu kompresji

## Wykorzystane technologie

W ramach realizacji projektu udało mi się zapoznać z następującymi technologami i narzędziami
- C++
- WinApi
11 changes: 11 additions & 0 deletions _projects/lzss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: page
title: projects.titles.project6
description: projects.descriptions.project6
img: assets/img/projects/LZSS.jpg
importance: 2
category: desktop
---


{% translate_file _projects/lzss.md %}

0 comments on commit b3e4dbd

Please sign in to comment.