arrow
description
Small repositories where I study one tool or topic at a time: build systems (CMake, xmake), backend deployment (Docker, Kubernetes, Terraform), machine learning (ML Lab) and algorithms (LeetCode).
technologies
[C++][CMake][xmake][Clang][Python][FastAPI][PostgreSQL][Docker][Kubernetes][Terraform][GitHub Actions][Jupyter][NumPy][Matplotlib]
links
[study-cmake] [study-xmake] [study-cloud] [study-leetcode] [ml-lab]

Each repository is built in steps that add one concept at a time, before the tool goes into a larger project.

Features

CMake

A C++ project to learn the CMake build system generator.

  • Visual Studio 2022 solution generated by CMake, also through .bat scripts
  • GLFW and Assimp built from source as subdirectories
  • Own static library hello linked into the program
  • OpenGL linked through find_package

xmake

study-cmake rebuilt with xmake and Clang on Windows (MSYS2 CLANG64), one concept per step.

  • Single program: target, add_files
  • Source and header folders: add_includedirs
  • Static library: set_kind("static"), add_deps
  • Defines, debug / release modes and output folder
  • Packages instead of submodules: GLFW, Assimp, glad, imgui

Cloud deployment

A small FastAPI service, taken step by step through Docker, Kubernetes and Terraform.

  • FastAPI app with a health check, a notes API and tests
  • Docker image, Compose with PostgreSQL, data in a volume
  • Tests and image build on every push (GitHub Actions)
  • Local Kubernetes cluster (kind) with storage and health probes
  • Terraform: local Docker provider first, then AWS (ECR, EC2 or ECS)

ML Lab

A learning lab for machine learning and LLMs, organized as a personal curriculum in Jupyter notebooks.

  • Foundations: Jupyter, NumPy and Matplotlib
  • Linear regression
  • Logistic regression
  • Reusable data generators and models extracted from the notebooks
  • Transformer internals and LLM fine-tuning

LeetCode

Data structures and algorithms on LeetCode problems, solved in Python. To be written in detail.

  • Problems solved in Python, each runnable with its own test cases
  • Own data structures: binary tree, n-ary tree, linked list, stack
  • Problem categories and notable solutions