Projects from rank 0 and 1 at 19 - 42 Network

date
Nov 6, 2023
slug
19-42-rank-1
status
Published
tags
School 19
General Development
summary
At 19, rank 0 and rank 1 consist of three projects in C and one linux sysadmin project.
type
Post
At School 19, part of the 42 Network, rank 0 and rank 1 consist of four main projects designed to provide a strong foundation in programming and system administration. The first three projects are focused on the C programming language, one of the most widely used languages in the world, known for its efficiency and control.
These projects will help students understand the basics of programming, including variables,structs, loops, and functions, as well as more complex topics such as memory management and file operations. The final project in the rank is a Linux system administration project. This project provides students with a practical understanding of how to manage and operate a Linux system.

Project 0: Libft

Libft is an excellent starting point in the 19's common core curriculum. Here, you'll implement a minimal recreation of crucial functions from the standard C library.
These include functions like strlen, strchr, calloc, split, and many more, primarily from string.h or stdlib.
Around 44 functions will be implemented, including the bonuses which are about linked lists.

Project 1: ft_printf

In this project, students will recreate the famous printf function from the standard C library. It's a great exercise for understanding variadic functions, parsing, and formatting strings. This function will be added to your Libft and will come in handy in your future C projects.

Project 2 : get_next_line

Get_next_line is the third project of the 42 curriculum. This project aims to make you code a function that returns a line ending with a newline that will be read from a file descriptor. It introduces the concept of static variables in C and gives a deeper understanding of allocations and memory leaks, the manipulation and the life cycle of a buffer, and the unexpected complexity implied in the use of one or multiple static variables.

Project 3: Born2beRoot

Born2beRoot is a Linux system administration project that emphasizes security. This project introduces students to the basics of system administration, focusing on the secure configuration and management of a Linux system. For this project, I chose to work with the Debian operating system.
In this project, students will gain practical experience with SSH (Secure Shell) for secure remote system access, as well as UFW (Uncomplicated Firewall) for managing a firewall. The project also involves setting solid group and user rules, furthering the system's security.
One of the key aspects of Born2beRoot is the creation of a monitoring script. This script will aid students in tracking and analyzing the performance and health of the system, which is a crucial skill in system administration.
As for the bonuses, they provide an opportunity to delve deeper into the complexities of system administration. These include tasks such as setting up more complex partitioning of the system and even setting up a WordPress server, which will expose students to web server management in a real-world context.

© ktorvi 2023 - 2024