Skip to content

titi0267/Tek2

Repository files navigation

Epitech second year

This repository contains all of my Epitech's second year project.

Description

I chose to do all of the projects available during this year to challenge my self.

This was by far the hardest and the most time consuming year that I've done.

It represents all of my work from January 2022 to July 2022 with all of the commits.

Disclaimer

This work reflects my coding style and practices at the time of its creation.

It may not align with my current approach to writing code.

As I continuously strive to improve and refine my coding techniques, the methodologies and conventions demonstrated in this work may no longer represent my current standards.

Summary

Projects

Asm

Low-level language for the development of a minimalistic C library.

  • ASM: Reproduction of the C library.

Concurrent Programming

In this unit we will tackle the concept of concurrent accesses via the following principles: ConcurentProgramming

  • Panoramix: Thread and mutexs
  • Plazza: The IPC (semaphores, message queues etc.)

Devops

In this module, you will be introduced to two notions and their associated technologies, with the following projects:

  • Marvin: Task automation with Jenkins
  • Octopus: Configuration management with Ansible

Haskell

Functional programming is a paradigm of programming that focuses on algorithms:

IndieStudio

Bombitek: A bomberman game.

Math

These projects didn't forced us to use a specific language, which is why, to challenge ourself's we tried to change the programming language between each projects starting from the third one.

  • Math: 9 different math concepts into 9 projects.

Memory

Fundamental elements of UNIX programming:

  • Malloc: Reproduction of malloc function.
  • Nm ObjDump: Reproduction of the nm and objdump commands.

Network

This unit is specifically designed to introduce you to Network communication, and Data packets:

  • FTP: File transfert protocol.
  • Teams: C messaging system.

Object Oriented

Introduction to the Object Oriented Programming paradigm. Modularization and problematic abstraction by using practical examples such as dynamic libraries:

  • NanoTekSpice: IT components logic.
  • Arcade: Different games playable with different graphical libraries.

Pool Days

This is the starting period of the year. It consists of 12 days of different exercices everyday.

In addition to this some small projects called Rushes are also included in this period of time.

Trace

Next installment of the Nm ObjDump and ASM x86-64 projects.

It's going to enable you to have a better understanding of ELF files and reverse engineering:

  • Strace: Default Trace command with -s flag.
  • Ftrace: Default Trace command with -f flag.

Credits

Shoutouts to all of my friends who took part on a lot of these projects.

@ludovic-str

@AlexandreFRANTZ

@djefrey

@Tomeiru

@TristanHourtoulle

@BotS1lent

@SylvianBurn

@Nekyt

@eIIiotwId