42SEOUL 5

스레드(thread)와 뮤텍스(mutex)

서브젝트가 업데이트 되고, 우리는 식사하는 철학자 문제를 스레드(철학자)-뮤텍스(포크), 프로세스(철학자)-세마포어(포크) 로 구성되도록 코드를 짜야한다. 같은 문제를 다른 방법들을 이용하여 코드를 짜기 위해서는 스레드와 프로세스, 뮤텍스와 세마포어의 차이를 이해하는게 좋다. 깔끔하고 정확한 설명들은 인터넷에 찾아보면 잘 정리되어있으니 이번 글에서는 내가 과제를 진행하면서 새로 알게 되었거나, 개념의 느낌(?) 위주대로 써 볼 생각이다. 스레드 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(mult..

inception - docker compose

1. docker-compose 란? [도커] Docker Compose란? 복수 개의 컨테이너를 실행시키는 도커 어플리케이션을 정의하기 위한 툴입니다. Compose 를 사용하면 YAML 파일을 사용하여 애플리케이션의 서비스를 구성할 수 있습니다. 그런 다음 single command를 사용하여 구성에서 모든 서비스를 만들고 시작합니다. 기본적으로 3스텝의 프로세스를 사용합니다. 앱의 환경을 정의하여 어디에서나 재사용할 수 있는 Dockerfile을 정의합니다. docker-compose.yml 에서 앱을 구성할 수 있는 서비스를 정의합니다. 그래서 단 하나의 환경ㅇ서 실행할 수 있게 합니다. docker-compose up 명령어를 실행합니다. 그리고 Compose를 시작시키고 전체의 앱을 실행시킵니..

42seoul/inception 2021.06.06

inception subject

이 프로젝트는 Docker를 사용하여 가상머신 관리에 대한 지식을 넓히는 것을 목표로 합니다. 여러 Docker 이미지를 가상화하여 새 개인 가상 머신에 생성합니다. 프로젝트 구성에 필요한 모든 파일은 srcs 폴더에 저장해야 합니다. Makefile도 필요하며 디렉토리의 루트에 있어야 합니다. 전체 응용 프로그램을 설정해야 합니다(즉, 다음을 사용하여 Docker 이미지를 빌드해야 함). 이 과목에서는 배경에 따라 아직 배우지 못한 개념을 연습해야 합니다. 따라서 이 과제를 완료하기 위해 도커 사용법과 관련된 많은 문서를 읽는 것을 주저하지 마십시오. 기본 파트 이 프로젝트는 특정 규칙에 따라 서로 다른 서비스로 구성된 소규모 인프라를 설정하는 것으로 구성됩니다. 전체 프로젝트는 가상 머신에서 수행해야..

42seoul/inception 2021.06.06

push_swap subject

Game rules 이 게임은 a 와 b라는 이름의 2개의 스택으로 구성되어 있습니다 시작하기에 앞서: a 는 중복되는 수 없이 양 혹은 음 의 임의의 수를 가지고 있습니다 b 는 비어있습니다 목표는 오름차순으로 숫자를 스택으로 정렬하는 것입니다. 이를 수행하기 위해 다음과 같은 작업을 할 수 있습니다: sa : swap a - 스택a 의 맨 위에 있는 두 요소를 바꿉니다. a의 수가 하나이거나 없는 경우 아무일도 일어나지 않습니다 sb : swap b - 스택b 의 맨 위에 있는 두 요소를 바꿉니다. b의 수가 하나이거나 없는 경우 아무일도 일어나지 않습니다 ss : sa 와 sb 가 동시에 일어납니다 pa : push a - b의 맨 위에 있는 요소를 a 맨 위에 넣습니다. b가 비어있는 경우 아무일..

42seoul/push_swap 2021.05.16