Philosophers 문제 Mutex를 이용해서 thread의 동시성 & 교착상태 해결하는 문제 https://worthpreading.tistory.com/90 $make $./philo [number_of_philosophers] [time_to_die] [time_to_eat] [time_to_sleep] [number_of_times_each_philosopher_must_eat] 1. number_of_philosophers : n명의 철학자. n개의 포크. 2. time_to_die : 아래의 경우 죽습니다. (ms) 마지막 식사를 시작 후, simulation 시작 후 time_to_diems 안에 먹기 시작하지 않은 경우 3. time_to_eat : 철학자가 먹는데에 걸리는..
minitalk https://www.joinc.co.kr/w/Site/system_programing/Book_LSP/ch06_Signal client 와 server 사이의 communication(문자열) server는 먼저 시작되어야하며 시작된 후에 PID를 표시한다. client는 [server_PID] [string] 를 매개 변수로 사용한다. client는 매개 변수로 전달 된 문자열을 server에 전달한다. (문자열이 수신되면 server는 이를 표시해야합니다.) 프로그램 간의 통신은 UNIX 신호를 사용해서만 이루어져야한다. server는 문자열을 매우 빠르게 표시 할 수 있어야한다. (힌트 : 100 자에 대해 1 초는 COLOSSAL). server를 다시 시작..
[용량 부족]일 경우(linux + wsl2) 1. 용량 파악(df) https://renenyffenegger.ch/notes/Linux/shell/commands/df df -f 명령어를 통해서 파악을 합니다. df: disk drives에서 사용 가능한 공간의 양을 표시합니다. 2. 지우기 cd 42toolbox ./free_space.sh 다음과 같은 명령어를 친뒤 y, n를 눌러가며 삭제해 나가면 됩니다. 아니면 일일이 지워나가 시면 됩니다.
[push_swap] Push swap 이 것은 만점이 아닌 쉬운 버전의 push swap 입니다. 문제 이해하기 좋은 사이트 https://medium.com/@jamierobertdawson/push-swap-the-least-amount-of-moves-with-two-stacks-d1e76a71789a 간단하게 말하면 2개의 저장공간을 이용해서 정렬을 시켜주는 문제 입니다. 인자를 받아와서 배열에 저장 배열로 check 요소 check 배열을 double linked list로 만들기 ra, rb, pa, pa 등등등 만들기 요소 개수에 따라 정렬하기 해야할 일 1. 인자 받아오기 문자열로 받아 올수 있어야 합니다. ./push_swap "3 4 5" 0 1 "2 7 8" ./push_swap 3..
* 레이 캐스팅 2차원 맥에서 3차원의 원근감을 만드는 렌더링 기술 * 기본 아이디어 녹색점: 플레이어, 파란색: 벽, 빨간색: 광선 맥의 한칸은 0 or 1 or 2 를 가진다. 0: 벽 없음 1: 벽 2: 아이템 화면의 모든 x에 대해(화면의 모든 수직 줄무늬에 대해) 플레이어 위치에서 시작하는 광선을 플레이어의 보는 방향과 화면의 x좌표의 방향에 따라 보냅니다. 벽에 부딪힌 경우 거리(hit point와 플레이어 거리를 계산)를 이용해서 벽이 화면에 그려야 하는 높이를 계산합니다. 광선이 어느 위치에 있는지 벽에 부딪 힐 때까지 계속 확인한다. 컴퓨터는 광선의 한정된 수의 위치만 확인 가능하므로 단일 공식으로만 광선이 벽에 닿는 것을 확인 할 수 없다. * DDA 알고리즘 2차원 그리드를 지나가는 ..
Ray_Tracing 이미지의 픽셀 하나하나를 통과하는 광선들이 있다는 가정하에 그 광선(Ray)을 역추적(Trace)하는 방식 Physically Based Rendering light ray를 다 추적하는 것 light -> reflection -> pixel light ray 와 material 과의 상호작용에 의해서 color가 결정된다. shading 음영(3차원 형태로 나오게 하는 것) Shadow(그림자) 바닥과 그 위에 물체가 있을 경우 광원으로 부터 나온 빛이 도달하지 않는 영역 그림자가 없으면 물체가 떠있는지 바닥에 붙어있는지 파악할 수 없다 Backward Ray Tracing camera(eye)로 부터 light, 물체로 빛(ray)를 쏘는 것 pixel -> reflection ..
wsl2에서 miniRT, cub3d 하는 방법 Xwindow(X11)는 Unix/Linux 계열의 운영체제에서 사용되는 GUI 환경 구현을 위한 시스템 네트워크 기반의 클라이언트 - 서버 방식으로 동작 => 프로그램이 GUI 창을 띄어 달라고 X server에 요청하면 X server가 요청을 처리하여 GUI 창을 띄운다. 1. 설치 설치 파일 - https://harm-smits.github.io/42docs/libs/minilibx/getting_started.html (잘보기) vcxsrv 설치 https://sourceforge.net/projects/vcxsrv/ xming 설치 2. 방화벽 풀기 방화벽 설정 - 방화벽 빛 네트워크 보호 고급설정 인바운드/아웃바운드 규칙(두개다 해야 좋습니다...
Man 설명 miniLibX - 학생들을 위한 간단한 윈도우 인터페이스 라이브러리 실행 - man /minilibx_mms_20200219/man/man3/[file name] void *mlx_init(); 기본 설정(초기화) 소프트 웨어와 디스플레이를 연결 디스플레이에 대한 연결을 설정 하지 못하면 NULL 반환 Unix/Linux: X-Window - Unix를 위한 네트워크 지향 그래픽 시스템 ( 소프트웨어가 화면에 무언가를 그리거나 키보드 및 마우스 항목) X-Server - 화면,키보드 및 마우스 관리(디스플레이) => 도면 순서(software -> X-Server)와 키보드/마우스 이벤트(X-Server -> software)를 전송하려면 이 두 entities간에 네트워크 연결이 설정되어..