42seoul

· 42seoul
이 과제를 풀 던 당시, 노션에 정리한 내용을 옮긴 것이다. 이상한 점을 발견한다면 알려주세요! 목표 운영체제의 교착(Deadlock)상태를 설명하기 위한 문제인 식사하는 철학자를 이해하고 구현해보자. 스레드란 무엇인가를 말할 수 있다. 뮤텍스란 무엇인가를 말할 수 있다. 교착상태란 무엇인가를 말할 수 있다. 문제 설명 한 명 이상의 철학자가 둥근 테이블에 앉아 다음과 같은 세 행동 중 하나를 취합니다 : 먹기, 생각하기, 잠자기 철학자가 밥을 먹는 도중에는, 생각하거나 잠을 자지 않습니다. 마찬가지로 잠자는 도중에는 밥을 먹거나 생각할 수 없으며, 생각하는 도중에는 밥을 먹거나 잠들 수 없습니다. 철학자들은 둥근 테이블에 앉아있으며, 가운데에는 아주 큰 스파게티 그릇이 놓여 있습니다. 탁자 위에는 몇 ..
· 42seoul
미니쉘 프로젝트 깃허브 바로가기 개요 miniShell은 42Seoul에 들어와서 처음으로 C를 이용해서 진행한 큰 프로젝트였다. miniShell은 bash의 기능을 그대로 구현을 해보는 프로젝트이다. shell을 특징과 구현 방법에 대해서 이야기 해보자. (오랜 시간 뒤의 회고라서 디테일이 떨어질 수 있습니다 ㅜㅜ) 구조 및 동작 순서 동작 순서를 간단하게 시각화해보았다. 먼저 shell에 명령어가 입력으로 들어오면 토큰화를 해준다. 토큰은 트리 형태로 파싱을 해주었다. 파이프만 사용하는 shell이라면 linked list 형태로 만들어도 괜찮지만, 보너스 파트인 &&, || 의 기능도 있는 shell이다보니 &&, ||을 처리하기 위해서는 트리 형태로 데이터를 저장하는 것이 정신 건강에 좋다. 토..
· 42seoul
GitHub - 42webserv/42webserv Contribute to 42webserv/42webserv development by creating an account on GitHub. github.com 개요 먼저 우리가 만든 wev server의 요구 사항을 정리해보자. 구현한 디테일한 기능과 에러처리도 있지만 큰 기능을 위주로 설명을 하려고 한다. - Kqueue 를 이용한 비동기, 논블로킹 소켓 프로그래밍 - HTTP1.1 프로토콜을 이용한 통신 - CGI를 이용한 동적 웹 사이트 제공 - config file을 이용한 웹서버 설정 간단하게 다시 정리해서 말하자면 nginx를 직접 만들어보는 프로젝트이다. 구조 설계 및 동작 순서 구조를 다이어그램으로 간단히 표현을 한다면 아래 그림과 같..
· 42seoul
42Seoul의 마지막 과제로 실시간 퐁 게임(ft_transcendence)를 팀원 5명과 제작을 하였다. 약 3개월의 기간이 소요되었고 5명 모두 풀 스택으로 프로젝트를 진행하였다. 기술 스택은 React, tailwind, Recoil, Nest.js, Socket.io 이렇게 된다. 퐁 게임은 아주 간단한 게임으로 오픈 소스가 많이 있다. 그래서 '게임을 어떻게 구현을 해야하지?' 라는 두려움은 넣어두어도 좋을 것이다. 퐁 게임 홈페이지의 큰 기능들은 이렇게 나뉜다. 로그인 - 42seoul 의 계정을 통한 로그인 채팅방 - socket을 통한 채팅방 구현(+ 차단, 방출, 뮤트) 게임 - 롤의 랭게임처럼 게임을 등록하면 자동으로 다른 상대와 매칭 시스템과 온라인 유저에게 바로 게임 신청 할 수 ..
· 42seoul
Net_practice 개요 Net_practice 과제는 15분동안 램던으로 제출된 3개의 문제를 풀는 것이다. 그럼 이 문제들은 무엇과 관련된 문제일까? 과제의 이름에서 유츄할 수 있듯이 네트워크와 관련이 되어있다. 필자는 문제를 풀면서 그때 그때 필요한 개념을 찾아가면서 문제를 풀어나갔다. 그래서 문제마다 필요한 개념과 어떻게 풀었는지 나의 생각을 정리해보았다. NETWORK 네트워크란, 두대 이상의 컴퓨터가 연결되어서 서로 데이터를 보내게 된다면 그게 바로 네트워크이다. 하지만 세계에는 엄청 많은 컴퓨터들이 있고 그 컴퓨터들이 서로를 찾기 위해서 TCP/IP같은 통신 규약들이 필요한 것이다. TCP/IP tcp/ip 란, 인터넷에서 우리가 서로 통신하기 위한 통신 규약(규칙) 모델이다. 편지를 보..
· 42seoul
0.도입 pipex 과제는 쉘 프롬프트에서 명령어 사이를 연결에 해주는 | 파이프를 직접 구현해 보는 과제이다. 예를 들어 ls -al | wc -l 위와 같은 명령어가 있다. ls -al 명령어는 현재 위치의 파일, 디렉토리를 표준출력에 출력해주는 명령어이다. 하지만 파이프가 있다면 표준출력으로 보내지 않고 wc -l 의 입력으로 그 값을 넘겨주게 된다. 그래서 wc -l 명령어는 그 값을 읽고 줄 수를 세서 표준 출력에 출력하게 된다. 이게 파이프의 기능이다. 우리는 이번 과제에서 파이프 기능을 직접 만들어보는 시간을 가질 것이고 그 포맷은 이러하다. | outfile ./pipex infile 'cat' | 'wc -l' outfile pipex 과제는 프로..
· 42seoul
설치 [42서울] Born2beroot 설치 및 세팅만 정리 주의! 이것만 보고 평가받으면 절대 통과할 수 없습니다. 이대로만 진행하면 평가를 받을 수 있는 상태가 되지만, 이 글은 평가를 통과하기 위한 글이 아님을 유의해주세요. 이 글은 평가표가 150 techdebt.tistory.com [42서울 / born2beroot] Linux Debian 10.10 설치가이드 42서울 본과정 1circle born2beroot 정리문서 velog.io born2beroot 삽질의 흔적 * 저도 처음 해보는 작업이라 아래 적은 글에는 틀린 내용이 있을 수도 있습니다. 또 '왜 그렇게 설정을 하는지'에 대해서는 생략한 부분이 많습니다. 첫번째는 제가 잘 모르는 부분도 많기 때문 tbonelee.tistory.c..
· 42seoul
개념 ft_printf 뽀개기_2ㄹ Subject 80000coding.oopy.io [C / 42seoul / ft_printf] - 서식 지정자 (format specifier) %[플래그][폭][.정밀도][길이]서식지정자 printf는 플래그, 폭, 정밀도, 길이 그리고 서식지정자를 조합하여 사용할 수 있는 함수이다. ft_printf 과제를 하기 위해 하나하나 뜯어봐야겠다. 서식지정자 infinitt.tistory.com ft_printf 0. 프로젝트 개요 80000coding.oopy.io [42서울 / ft_printf] ft_printf 정리 42서울 본과정 1circle ft_printf 정리문서 velog.io [ft_printf](2)가변 인자 함수(variadic function) ..
Hayden_
'42seoul' 카테고리의 글 목록