This repository contains my personal implementations of the projects in the 42 School common core curriculum. Each project is designed to master specific concepts in C, C++, and system administration.
The projects are organized within the cursus/ directory:
- libft: My first custom C library, re-implementing standard libc functions and more.
- get_next_line: A function that reads and returns a line from a file descriptor.
- ft_printf: A custom implementation of the standard
printffunction.
- push_swap: Sorting data on a stack with a limited set of instructions and the lowest possible number of moves.
- philo: Solving the Dining Philosophers problem to learn about threads, mutexes, and shared memory.
- fdf: A 3D wireframe representation of a landscape using the MinilibX library.
- born2beroot: System administration project focused on setting up a virtual machine with Debian, following strict security protocols.
- netpractice: Solving networking problems related to IP addressing, subnets, and routing.
- inception: System administration with Docker, setting up a complex infrastructure with multiple services.
- minitalk: A small client/server communication program using UNIX signals (SIGUSR1/SIGUSR2).
- cpp: A series of modules focused on learning Object-Oriented Programming (OOP) in C++.
- irc: Implementation of an IRC server from scratch in C++.
- test: A collection of test suites and scripts used to verify the correctness of the projects.
- Low-level programming in C.
- Object-Oriented Programming in C++.
- Algorithms and complexity analysis.
- Unix system administration and security (Docker, Virtual Machines).
- Memory management and optimization.
- Multithreading and concurrency.
- Network protocols (TCP/IP, IRC).
Note: All code follows the 42 Norm.