# 42

CPP Module 01가 나를 그윽하게 바라볼 때 혼내주는 법.
여기까지 온 당신 그동안 norminette규정 준수하고 함수도 마음껏 사용하지 못하셨죠?... 이젠 행복해질 수 있습니다. cpp과제부터는 norm규정이 없어지고 함수 제한도 없어서 당신의 꿈과 희망을 맘껏 펼칠 수 있습니다. 이제 시작해보도록 하겠습니다. >##
ar 명령어
"ar" 명령어는 여러 개의 오브젝트 파일을 하나의 라이브러리 파일로 묶어주는 작업을 수행하는 명령어입니다. "ar" 명령어의 옵션 중 "rcu"는 각각 다음과 같은 의미를 가집니다."r" 옵션은 라이브러리 파일에 새로운 오브젝트 파일을 추가하거나 기존의 오브젝트 파일
TIL
null 포인터를 참조하면 오류가 발생한다.null 포인터를 참조하면 일반적으로 프로그램이 오류를 발생시킵니다. null 포인터는 메모리 상에서 아무 것도 가리키지 않는 포인터이며, 즉 참조하고자 하는 대상이 없는 상태를 나타냅니다. 이러한 상태에서 해당 포인터를 사용
42seoul:: pipex - linux pipe 구현
const char\* name : 파일의 절대 경로 혹은 상대 경로이거나 파일 이름이다. int flags : 반드시 O_RDONLY , O_WRONLY, O_RDWR 값들 중 하나이어야 한다. 각각 "읽기 전용", "쓰기 전용", "읽기 쓰기"를 나타낸다. 몇 가지

[42 seoul] 철학자야 밥먹자 (philosopher)
📖 글을 시작하며 42seoul의 프로젝트(과제) 중 하나인 philosopher를 정리한 글입니다. 과제를 진행하며 했던 생각, 배운 것 등을 주관적으로 정리한 글임을 참고 부탁드립니다. 📕 philosopher 소개 philosopher는 철학자들에게 밥

42seoul:: Push Swap - 퀵소트 알고리즘을 통한 정렬
퀵 소트 알고리즘을 간단하게 설명 하자면, 수열에서 피봇을 하나 골라준다음 다른 수들과 비교하여 해당 피봇 보다 작으면 왼쪽, 크면 오른쪽으로 보낸다. 이때 보장할 수 있는 사실은 피봇을 기준으로 왼쪽은 무조건 피봇보다 작다는 점과 오른쪽은 무조건 크다는 점이다. 이렇

[42Seoul] - ft_containers
1.무엇을 하는 과제인가? : cpp의 stl을 구현하는 과제이다. -.stl이란, 표준 CPP Library(Standard Template Library)로서 자주 사용되는 자료구조와 알고리즘을 모아 만든 Library이다. -.들어가기에 앞서 : 이 과제를 시

42seoul:: So_long
오류 메세지를 출력해주는 함수로 전역 변수 errno의 값을 해석하여 이에 해당하는 시스템 오류 메세지를 표준 오류 출력 스트림 (stderr)에 출력한다. 또한 추가적으로 전달하고자 하는 사용자 정의 메세지를 str 인자에 담아 출력할 수 도 있다.오류 메세지 문자열
42seoul:: get_next_line 구현 및 정리
fd => 0 표준입력, 1 표준출력, 2 표준에러임의로 파일을 읽어들이면 3번부터 배정받는다. static 변수는 함수내부에서도 사용이 가능하고 전역에서도 사용이 가능하다. 특이하게도 static변수는 따로 초기화 하지 않아도 0 으로 초기화된다. static
42seoul:: printf 구현 및 정리
printf(”%d %d %d”,1,2,3) 에서 인자를 몇개를 넣어도 잘 돌아간다.printf의 프로토타입을 확인해보면 다음과 같다.int printf(const char\* format, ...)이때 두번째 인자로 사용되는 … 이 가변인자, 혹은 가변 파라미터라고
[42Seoul] - Inception
: Docker라는 도구로 독립적인 시스템을 구성하는 과제이다.과제에서는 Nginx(Webserver) + Mariadb(DB) + Wordpress(Blog)를 구성한다.: 간단하게 docker와 docker-compose에 대해서 공부할 수 있는 곳 들이다. 너무

[42Seoul] - MiniRT
: 3차원 물체들을 시각적으로 나타내보는 그래픽 과제이다. mlx라는 라이브러리를 이용하고, 레이 트레이싱이라는 기술을 이용하여 3차원의 물체들을 사실감 있게 만든다. + 수학 공식을 어떻게 코드화를 시킬지에 대해서도 고민을 하게 되고, 적용을 해보게 된다.: mini

cub3d
1. Minilibx란? : 42에서 쉽게 graphical software를 만들 수 있도록 제공하는 라이브러리 -> 간단한 윈도우 생성, draw tool, image, event 등 제공 -> makgefile 옵션: -I $(mlx 경로) -L $(ml
블랙홀에 빠진 유저 처리 - (2)
❓ 블랙홀에 빠진 유저는 42 intra 로그인을 할 수 없기 때문에 Cabi 사이트에는 로그인이 불가능하다. 따라서 해당 유저가 대여하고 있던 사물함이 있어도 반납할 수 없다. 이로 인해 사용되지 않은 채로 방치되는 사물함이 생기고, 해당 유저에게 연체 메일이 발송되
[소켓 프로그래밍] setsockopt & getsockopt & kqueue
setsockopt `socket`: socket으로 소켓 디스크립터 `level` : 프로토콜 레벨 (SOLSOCKET, IPPROTOIP, IPPROTOTCP, IPPROTOIPV6 등) `option_name` : 옵션 이름 `option_value` : 설정할
[42Seoul] - CPP Module08
: STL(C++ Standard Template Library)에 대해 공부하는 과제이다. 여기에는 Vector / List / Map 등이 있다. 어디서 많이 들어본 자료형이지 아니한가? 프로그램을 좀 더 쉽고 효율적으로 만들 수 있는 자료형과 알고리즘을 배울 수
C00
라피신 대부분 과제는 함수 구현이었어. ex00. ft_putchar 이 함수는 character 형을 출력해. write 함수를 쓰지. ex01. ftprintalphabet ex05. ftprintcomb ex06. ftprintcomb2
C01
ex00. ft_ft ex01. ftultimateft ex02. ft_swap ex03. ftdivmod ex04. ftultimatediv_mod ex05. ft_putstr ex06. ft_strlen ex07. ftrevint_tab ex08. f
[42Seoul] - CPP Module07
: 템플릿을 공부하는 과제이다. 지금까지 우리는 클래스를 만들때 특정 형을 고정한 상태로 만들어주었다. 예를 들면 특정 변수가 int로 되어 있다면 그 클래스의 변수는 int밖에 되지 않았다. 하지만 이것은 너무도 불편한 일이다. 이제부터는 템플릿으로 자유자재로 해당되

Dining Philosopher Problem
이게 다 먹고살자고 하는 건데... 42 서울 과제를 진행하던중 만난 문제이다. 어떤 방법을 사용해서 구현할까 고민하던 중 이 문제에서 어떤 부분이 이야기 되어야 하고 고민되어야하는지 정리하는 겸 블로그에 포스팅 한다. 식사하는 철학자 문제 철학자 다섯이서 원형