42-public

  • Libft (C 라이브러리 만들기)
    • C의 standard 라이브러리의 함수(isalpha, isdigit, strlen, memset 등) 구현하기
    • C의 메모리 할당/해제, 포인터 개념, 자료형 등을 학습, Makefile 작성하여 정적 라이브러리를 만드는 방식을 학습
  • get_next_line (fd를 받아서 한줄씩 읽기)
    • Fd를 받아서 한줄씩 읽어서 반환하는 함수 구현하기
    • File Descriptor의 개념과 open, read 등의 함수를 사용하여 파일 읽는 방법, 메모리 누수 등에 대해 학습
  • ft_printf (가변인자를 활용하여 printf 함수 만들기)
    • 출력 시 사용하는 printf 함수 구현하기
    • 가변인자와 문자열 파싱에 대한 학습
  • Born2beroot (가상머신으로 리눅스 사용해보기)
    • VM에 Debian을 설치하고, 기본 세팅 하기
    • VM, 리눅스, sudo, ssh, 방화벽, 포트포워딩 등 서버와 관련된 정보 학습
  • So_long (그래픽 라이브러리로 나만의 2d 게임 만들기)
    • 42 내의 그래픽 라이브러리인 MLX를 사용하여, 동서남북으로 이동하여 미로를 탈출하는 2D 게임 만들기
    • 외부 라이브러리 사용법, 파일 파싱, 라이브러리를 사용해 화면에 그래픽을 그리는 법, 키보드 이벤트와 마우스 이벤트 등에 대해서 학습
  • Pipex (pipe를 통한 프로세스 간 통신)
    • pipe 구현하기
    • 프로세스 간 통신과 부모-자식 프로세스에 대한 이해, fork-exec 함수를 사용하여 pipe를 구현
  • Push_swap (정렬 알고리즘)
    • 정렬 알고리즘을 통해 아이템을 정렬하는 최적의 방법 구하기
    • 정렬 알고리즘과 시간 복잡도에 대해 학습, 모래시계 알고리즘이라는 과제로 인해 만들어진 특수한 알고리즘을 사용하여 과제 해결함
  • Philosophers (스레드와 뮤텍스)
    • 배고픈 철학자 문제 해결하기
    • 멀티 쓰레드와 멀티 프로세싱에 대한 이해, mutex를 사용하여 교착 상태를 해결함
  • minishell (나만의 쉘 만들기 / 2인)
    • 나만의 작은 Bash shell을 만들기
    • 파싱된 Command 를 실행하는 부분 담당. 다중 pipe를 구현하고, here doc, redirection, exec을 통한 명령어 처리 등을 구현
  • Net practice (네트워크 계층에 대한 이해)
    • 네트워크 지식을 통해 IP 주소 입력하는 문제 풀기
    • 네트워크 계층에 대한 이해, subnet mask, switch, router를 통해 IP 계산하는 방식을 이해함
  • CPP (C++ 객체 지향 프로그래밍 / STL)
    • C++ 기초 학습. 클래스, 상속, 다형성과 추상화, 예외처리, 타입캐스팅, 템플릿, STL에 대하여 학습함
  • Cub3d (레이캐스팅을 사용한 3D 게임 / 2인)
    • 42서울 내부 그래픽 라이브러리인 MLX 사용, 벡터와 삼각함수의 개념을 사용하여 2차원 그래픽으로 3D처럼 렌더링하기.
  • Inception (Docker로 서비스 만들기, Mariadb, wordpress, nginx)
    • Docker compose, volume, network 등에 대하여 학습, docker를 사용하여 Maraidb, wordpress, nginx 서비스를 띄우고 연결하기
  • ft_irc (소켓통신을 통한 채팅서버 만들기 / 2인)
    • 채팅 서버 프로토콜인 RFC를 준수하여 채팅 서버 만들기.
    • 소켓 통신에 대한 공부
  • ft_transcendence (핑퐁 채팅 게임 사이트 구현 / 5인)