Home
Dev Joon
Cancel

[42Seoul] pipex (2) 허용 함수 정리 : dup

dup #include <unistd.h> int dup(int fildes); 함수의 매개변수(fileds)로 전달하는 파일 디스크립터를 현재 할당할 수 있는 가장 작은 파일 디스크립터에 복사하여 반환한다. 반환값 성공 : 복사된 파일 디스크립터 번호 실패 : -1 발생한 오류에 따라 errno 가 ...

[42Seoul] pipex (2) 허용 함수 정리 : access

access #include <unistd.h> int access(const char *file, int mode); file 에 대해 mode 에 대한 접근이 있는지 확인하는 함수이다. mode 에 입력할 수 있는 값은 다음과 같다. R_OK : read 권한이 있는지 확인 W_OK : write 권한이 있는지 확인 ...

[42Seoul] pipex (1) 프로젝트 개요

Mandatory part 과제 설명 쉘의 파이프(|) 명령어를 구현하는 과제 제출 파일 사용한 모든 파일 (libft 사용했을 경우 모두 포함해서 제출) 사용 가능한 함수 open, close, read, write, malloc, free, perror, strerror, access, dup, dup2, execve, exit, ...

[42Seoul] minishell (2) 프로젝트 회고

플로우차트 간략하게 표현한 플로우차트는 다음과 같다. gnu bash reference 를 참고해서 최대한 bash 와 유사하게 작동하도록 노력했다. 협업 방식 업무 분담 이번 프로젝트에서는 업무 분담을 따로 하지 않았다. 보통 파싱, 실행을 나누어서 진행하는데, 우리는 처음부터 모든 과정을 같이 코드를 작성하는 페어 프로그래밍 방식을 선...

[42Seoul] minishell (1) 개념 정리

gnu bash reference 에 있는 자료를 토대로 bash 가 작동하는 원리를 정리한 내용이다. bash 작동 원리 1. 파일 읽기 filename arguments 파일 실행 filename 을 읽어서 실행한다. 그리고 exit 한다. 이를 non-interactive shell 이라 한다. 사용자가 명령을 입력할 수 ...

[Jekyll] invalid byte sequence in US-ASCII 오류 해결

🧐오류 발생 상황 github.io 블로그에 게시물을 올리기 전에 로컬 환경에서 테스트 하기 위해 아래와 같은 명령어를 실행시켰다. bundle exec jekyll serve 하지만, 아래와 같은 오류를 출력했다. [!] There was an error parsing `Gemfile`: [!] There was an error while...

프로그래머스 Level 1 - 콜라 문제 (JavaScript)

프로그래머스 - Level1 콜라 문제 문제 설명 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 문제의 지문이 길었지만, 문제에서 요구하는 바는 지문의 하단에 나와있었다. 나눗셈을 통한 몫과 나머지를 이해한다면 쉽게 풀 수 있는 문제다. 교환에 필요한 콜라병은 a , 교환에서 받을 수 있는 콜라병은 b, 현재 가지고 있는 콜라병은 n 이...

[42Seoul] push_swap 구현 과정

플로우차트 Mandatory Bonus 인자값 ./push_swap 4 2 1 3 5 인자가 입력된 순서대로 스택 A에 저장한다. 즉, 가장 먼저 들어온 인자는 스택 A의 맨 밑에, 가장 나중에 들어온 인자는 스택 A의 맨 위에 위치한다. 자료구조 스택을 구현하기 위해 원형 양방향 연결 리스트를 사용했다. 스택의 상단 ...

[so_long] so_long 구현 과정 및 MLX 라이브러리 활용

플로우차트 화면 띄우기 mlx 라이브러리를 이용해서 화면을 띄운다. // main.c #include "./mlx/mlx.h" // 윈도우 크기 #define WINDOW_WIDTH 500 #define WINDOW_HEIGHT 500 int main(void) { void *mlx_ptr; void *win_ptr; mlx_ptr...

웹 서버와 WAS, CGI (feat. 스레드와 프로세스)

TL; DR 웹 서버는 변하지 않는 정적 콘텐츠(HTML, CSS, JS, 이미지, 동영상 등)를 담당한다. WAS는 사용자의 요청에 따라 변하는 동적 페이지를 담당한다. (CGI의 단점을 보완한 것이 WAS) 웹 서버와 WAS를 나눠서 사용하는 이유는 서버의 부담을 분산시키기 위함이다. 프로세스는 프로그램을 실행한 것, 스레드는 프...