Home
Dev Joon
Cancel

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

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

네트워크 LAN, WAN / 스위치, 라우터 / IP 주소 / 서브넷 개념 정리

네트워크? 컴퓨터에서 의미하는 네트워크란 두 대 이상의 컴퓨터가 서로 연결되어 있는 것을 말한다. 네트워크를 통해 서로 필요한 데이터(정보)를 주고 받을 수 있게 된다. 네트워크를 사용하면 웹 사이트를 방문하거나, 메일을 주고 받는 등 다양한 일을 할 수 있게 된다. 출처: Unsplash 현실 세계에 비유하자면 네트워크는 도로와 같다. 현...

[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 이...

스레드란?

스레드 스레드를 이해하기 위해서는 프로그램, 프로세스를 이해할 필요가 있다. 프로그램과 프로세스 프로그램은 파일이 저장 장치에 되어있지만, 메모리(RAM)에 올라가 있지 않은 정적인 상태이다. 메모리에 올라가지 않았다는 것은 운영체제가 프로그램에게 독립적인 메모리 공간을 할당하지 않았다는 의미이다. 모든 프로그램은 운영체제가 자원을 할당해...

[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를 나눠서 사용하는 이유는 서버의 부담을 분산시키기 위함이다. 프로세스는 프로그램을 실행한 것, 스레드는 프...