들어가기전에 이전 포스트인 cub3D(1) 포스트를 참고하여 레이캐스트가 무엇인지? DDA알고리즘이 무엇인지? 확실하게 파악해야 합니다. 이전 포스팅 fractal 에서 사용한 그래픽라이브러리 mlx를 다시 활용하여 이미지를 표현해줍니다. 삼각함수와 백터에 대해 기
레이캐스팅(Ray Casting)이란? 레이캐스팅(Ray casting)은 컴퓨터 그래픽스와 계산기하학의 다양한 문제를 해결하기 위해 광선과 표면의 교차검사를 사용하는 기법을 말합니다. 이 용어는 1982년 스코트 로스의 구조적 입체 기하학 모델을 렌더링하기 위한 기
들어가기전에 멀티 프로세스와 리눅스 bash의 내부 동작원리와 팀 프로젝트에 대해 배웁니다. 30개가 넘는 c파일이여서 이번에는 세세하게 설명하지 않습니다. Built_in 명령어 아래의 명령어들을 직접 구현합니다. export env unset
해당 프로젝트는 2인 팀과제로 평균적으로 30일이 소요되는 큰 프로젝트이기 때문에 사용가능한 함수가 상당히 많습니다.처음 보는 함수들이 굉장히 많아 전부 공부했지만, 작성 결과물을 보면 다 사용한건 아닙니다.프롬프트를 띄우고 입력값을 받을때 사용한 readline 함수
minishell 프로젝트는 셸 스크립트 중 하나인 bash를 구현하는 프로젝트입니다.그러나 이름에서 유추할 수 있듯 세부적인 동작까진 무리이고 manual을 참고하여 작성합니다.명령어 처리기 (ex. 터미널)쉘은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구
들어가기에 앞서 philosophers(1)에서 언급한 스레드, 동기화, 임계영역, 교착상태에 대해 개념 파악 인자를 5개 또는 6개를 받습니다. ◦ numberofphilosophers: The number of philosophers and also the num
나이순 정렬분명히 좋은 방법이 있겠지만, 무식한 방법으로 제 스타일로 문제를 해결했습니다.처음엔 동적할당을 안하고 지역변수로 진행해서 stack메모리 초과하여 실패했습니다.static으로 선언해서 스택영역과 데이터영역 둘다 쓰려다가 힙영역에 할당하는 방식으로 변경하였습
이전 포스트인 pipex에선 프로세스와 프로세스 간 통신인 IPC에 대해 배웠습니다. 이번 philosophers 프로젝트는 스레드와 스레드 동기화 방법, 그리고 운영체제의 교착상태에 대해 설명하겠습니다. 스레드 프로세스 내에서 실행되는 여러 흐름의 단위로 하나의
들어가기에 앞서 pipex(1) 내용인 프로그램과 프로세스의 차이 프로세스간 통신인 ipc에 대해 개념파악 처음 접해보는 다양한 내장 함수 활용 인자는 총 5개를 받습니다. 실행파일인 argv[0]을 제외하면 각 인자들은 아래와 같습니다. outfile inf
pipex 프로그램은 리눅스 환경에서 사용 가능한 파이프라인 '|'을 구현하는 프로젝트 입니다. 우선 파이프라인에 대해 구현하기 전에 프로세스가 무엇인지 그리고 프로세스간 통신인 ipc에 이해하고 시작하겠습니다. 프로그램 (Program) 프로그램은 컴퓨터에서 실행될
들어가기에 앞서 push_swap(1) 포스트에서 작성한 자료구조에 대해 공부하고 어떤 자료구조를 사용할 지 결정 push_swap(2) 포스트에서 정렬 알고리즘 파악 여러 방식의 알고리즘이 있지만, 요구하는건 명령어 개수가 중요하기 때문에 가장 최적화 된 그리디 알
push_swap 프로젝트를 진행할 때 많이 사용하는 정렬 알고리즘 중 대표적인 2개 퀵정렬(quick sort)와 병합정렬(merge sort)정렬 알고리즘에 대한 개념을 이해하고 넘어가겠습니다.버블, 선택, 삽입 정렬의 경우 시간복잡도가 O(n^2)으로 효율적이지
push_swap 이란 어떠한 저장공간에 있는 데이터를 한정된 명령어를 이용하여 최대한 적은 횟수 내에 정렬하는 것을 목표로 합니다.성공하기 위해서는 저장공간을 만들고, 다양한 정렬 알고리즘을 조작해 보고, 최적화된 데이터 정렬에 가장 적합한 알고리즘을 선택하여야 합니
들어가기에 앞서 그래픽 라이브러리인 mlx에 대해 충분히 공부 : 팔만코딩경 mlx 내가 그리려는 fractal에 대해 수식 파악 mlx를 실행시키는 Makefile과 gcc컴파일 방식 파악 🖥️ Mandatory fractal이미지인 Mandelbrot과 Juli
가장 긴 바이토닉 부분 수열이전 포스팅인 가장 긴 증가/감소 하는 수열을 잘 이해했다면, 바로 풀 수 있는 문제였습니다.문제를 보자마자 이렇게 해결하면 되겠구나 하고 5분만에 작성했습니다.dp문제를 단순하게 점화식만 찾고 해결하는 방식이 아닌 2가지 경우로 분리 후 다
가장 긴 증가하는 부분 수열가장 긴 감소하는 부분 수열1\. 가장 긴 증가하는 부분 수열 코드 가장 긴 감소하는 부분 수열 코드점화식을 찾는 과정이 의외로 까다로웠습니다.문제의 입력값의 범위가 1,000개로 시간복잡도 n^2을 사용해도 괜찮다는 판단으로가장 기본적인 D
들어가기전에 가상 머신(Virtual Box)의 사용 방법 OS의 차이점 파악 다양한 보안모듈 및 보안시스템 공부 리눅스를 이용해서 자신이 필요한 서비스를 설치 Mandatory Virtual Machine 가상머신 하나의 물리서버를 보다 효율적으로 사용하기