Potrafię pisać aplikacje Webowe z użyciem np. Spring Boot czy Javalin oraz znam inne frameworki i biblioteki takie jak: jOOQ, JDA (Java Discord API), Spigot-API. Używam buildsystemów jak np. Maven czy Gradle (Groovy) oraz potrafię używać dodatkowych narzędzi jak jPackage, jLink m.in po to, aby tworzyć minimalne buildy Javy zoptymalizowane do obrazów Docker (np. 80MB cała aplikacja Web — TuliLogin) czy do pakowania aplikacji do plików wykonywalnych. Aktualnie pracuję nad prostym serwerem (na początku Proof-Of-Concept) DNS.

Czas kodowania:

Technologie

Projekty

Potrafię używać Python do m. in aplikacji webowych przez FastAPI czy Flask. Tworzę sieci neuronowe - mój aktualny projekt TuliMania w bibliotece PyTorch oraz ogółem korzystam z ML do projektów - np. JustTwirk (YOLO, triangulacja do Mocap). Do tego tworzę dashboardy ze statystykami m. in Plotly, Streamlit oraz Bokeh. Potrafię korzystać z pip, lecz wolę uv jako swój buildsystem.

Czas kodowania:

Technologie

Projekty

TuliMania

JustTwirk

TuliBlenderRenderer - WIP

Prosta aplikacja Webowa dla moich kolegów - po zalogowaniu można przesłać plik ".blend" z jobem do renderu (na moim komputerze, budzi się przez WOL).

TuliHCR - WIP

Handwriting Character Recognition - specjalnie wytrenowany model Tesseract pod moje odręczne pismo.

Potrafię tworzyć serwer oraz client przy użyciu Unix-like socketów - dwa projekty World Wide Toe oraz Guess The Number. Aktualnie pracuję nad napisaniem własnej implementacji inferencingu modelu ONNX (dla TuliMania) oraz przepiania serwera DNS z Java do C++.

Czas kodowania:

Technologie

Projekty

Potrafię tworzyć proste i rozbudowane strony za pomocą PHP, np. licznik dni oraz System Zarządzania Treścią (CMS) - Blogee. Potrafię odpowiednio zabezpieczać strony (np. CSRF) oraz walidować dane.

Czas kodowania:

Technologie

Projekty

Blogee

Mniejsze projekty szkolne

Licznik dni do wydarzenia, dziennik zdarzeń. Opracowanie CSRF

Używałem baz danych takich jak: ClickHouse, MySQL/MariaDB, Redis, MongoDB, SQLite, H2, MSSQL. Potrafię używać je poprzez SQL (JDBC) oraz poprzez framework taki jak: jOOQ. Od analizy statystyk graczy, po analizowanie zdjęć oraz przechowywanie danych treningu.

Technologie

Projekty w których z nich korzystam

Cubecopia - MSSQL

Blogee - MySQL/MariaDB

TuliLogin - MySQL

TuliImages

Alternatywa dla Immich - aplikacja webowa do przeglądania zdjęci. Wyszukuje duplikatów między dyskami oraz znajduje podobne, posiada kategorie.

Używam Dockera (lub podman) do budowy obrazów oraz ich deployowania. Dbam o optymalizację rozmiaru obrazu, np. tworzę odpowiednie środowiska Python albo Javy aby zawierać jedynie potrzebne biblioteki wbudowane.

Czas kodowania Dockerfile:

Technologie

Projekty, w których używam Docker

TuliBlenderRenderer — część WOL

Prosta aplikacja Webowa dla moich kolegów - po zalogowaniu można przesłać plik ".blend" z jobem do renderu (na moim komputerze, budzi się przez WOL).

Blogee

TuliLogin

Potrafię używać CI/CD (np. Github Actions, Gitea Actions) do testowania, weryfikowania stylu kodu, buildowania oraz deployowania projektów - np. build JAR w Java, build obrazu Docker. Tworzyłem PR do projektów takich jak nitrox-server aby dodać pushowanie oraz poprawić działanie projektu.

Technologie

Projekty, w których używam CI/CD