Skip to content

Tonyg92x/42-common-core

Repository files navigation

LinkedIn


Logo

42-common-core projects

The 42 common-core formation is a programming formation. In this formation, we learn c / c++ / vm / dockers / subnetting and web developpment. The project Born2BeRoot (secure linux vm creation) and netPractice (subnetting fundamentals) are not present since they don't require any code.

Table of Contents
  1. libft
  2. printf
  3. gnl
  4. push_swap
  5. pipex
  6. so_long
  7. philosophers
  8. minishell
  9. cub3d
  10. piscineCPP
  11. inception
  12. irc
  13. transcendence

01-libft

This is some fonctions from the c standard library. It is used afterward to do following projects.

02-printf

Printf is the print fonction in c. In this project, I use va_arg as argument to enable multiple argument and variable type.

03-gnl

This is the classic get next line fonction. In this project, we have to handle a BUFFER_SIZE value that is the size of the read buffer size. Static variable is used to save extra character read.

04-push_swap

Algorithm projet of sorting some numbers. There is two stack and limited actions possible to sort the number in ascending order.

05-pipex

In this project, we learned about a pipe: a way to communicate between two processes by linking two file descriptors.

06-so_long

2D graphical project using MLX visual library. MLX visual library use in the backend openGL. There is some map parsing on input and key press event, game loop and graphical rendering using premade fonctions to render it. I am not sure if I did fix the run time leak. woops

07-philosophers

Multi threading project. It's the classical philosopher exercise to learn the basic of controlling multi-threading in a program.

08-minishell

This is a shell program. The non bonus is limited to pipe operators. This project is mostly about parsiong and having good small usefull fonction that you can use multiple time.

09-cub3d

This is a remake of the Wolfstein 3D game, which is the first FPS ever made. It is in 2D in the backend, but the rendering is in 3D. To do so, we use raycasting for every pixel (width) to know the distance between the player and obstacle's. With the value of the length of the ray, we can proceed to render the pixel to showcase the map to give a distance effect. Small math project, it was very fun. I enjoyed this one by not spoilling on how to do it from other projects from other students. The fun part was trying to understand the math behind it and code it in your'e own understanding. I learn at the end that I could use a better algorithm to optimise the length of the ray calculation. I used DDA algirithm so it could be efficient, but I understood late that the length of the ray for each x or y values stay the same after the first three iteration.

10-piscineCPP

This is a pricine for the CPP programing language. A Piscine is some project's done to learn a programming language.

11-inception

Docker project. We have to create our own image to make a small World Press project.

12-irc

IRC server. I loved this project. Unfortunatly I had only 2 weeks to do it so it had not received the loved it should have got. I have some plans to work on it in the future to optimise it, add encryption and file upload's. It really gave me some love for network programming.

13-transcendence

Full stack web application. Ugly ass code woops

About

42 common-core projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published