profile
정통과 / 정처기 & 정통기 / 42seoul / 임베디드 SW 개발자
post-thumbnail

cub3D(2) - C언어로 미니 3D 게임 만들기

들어가기전에 이전 포스트인 cub3D(1) 포스트를 참고하여 레이캐스트가 무엇인지? DDA알고리즘이 무엇인지? 확실하게 파악해야 합니다. 이전 포스팅 fractal 에서 사용한 그래픽라이브러리 mlx를 다시 활용하여 이미지를 표현해줍니다. 삼각함수와 백터에 대해 기

2023년 5월 5일
·
0개의 댓글
·
post-thumbnail

cub3D(1) - 레이캐스팅(Ray Casting)

레이캐스팅(Ray Casting)이란? 레이캐스팅(Ray casting)은 컴퓨터 그래픽스와 계산기하학의 다양한 문제를 해결하기 위해 광선과 표면의 교차검사를 사용하는 기법을 말합니다. 이 용어는 1982년 스코트 로스의 구조적 입체 기하학 모델을 렌더링하기 위한 기

2023년 4월 25일
·
0개의 댓글
·
post-thumbnail

minishell(3) - 나의 작은 쉘(BASH)

들어가기전에 멀티 프로세스와 리눅스 bash의 내부 동작원리와 팀 프로젝트에 대해 배웁니다. 30개가 넘는 c파일이여서 이번에는 세세하게 설명하지 않습니다. Built_in 명령어 아래의 명령어들을 직접 구현합니다. export env unset

2023년 4월 23일
·
0개의 댓글
·
post-thumbnail

minishell(2) - 사용 함수 파악하기

해당 프로젝트는 2인 팀과제로 평균적으로 30일이 소요되는 큰 프로젝트이기 때문에 사용가능한 함수가 상당히 많습니다.처음 보는 함수들이 굉장히 많아 전부 공부했지만, 작성 결과물을 보면 다 사용한건 아닙니다.프롬프트를 띄우고 입력값을 받을때 사용한 readline 함수

2023년 4월 22일
·
0개의 댓글
·
post-thumbnail

minishell(1) - 쉘 스크립트 공부하기

minishell 프로젝트는 셸 스크립트 중 하나인 bash를 구현하는 프로젝트입니다.그러나 이름에서 유추할 수 있듯 세부적인 동작까진 무리이고 manual을 참고하여 작성합니다.명령어 처리기 (ex. 터미널)쉘은 운영 체제 상에서 다양한 운영 체제 기능과 서비스를 구

2023년 4월 22일
·
0개의 댓글
·

[BOJ] 1012번 유기농 배추

유기농 배추

2023년 4월 9일
·
0개의 댓글
·
post-thumbnail

philosophers(2) - 식사하는 철학자 문제

들어가기에 앞서 philosophers(1)에서 언급한 스레드, 동기화, 임계영역, 교착상태에 대해 개념 파악 인자를 5개 또는 6개를 받습니다. ◦ numberofphilosophers: The number of philosophers and also the num

2023년 4월 9일
·
0개의 댓글
·

[BOJ] 10804번 나이순 정렬

나이순 정렬분명히 좋은 방법이 있겠지만, 무식한 방법으로 제 스타일로 문제를 해결했습니다.처음엔 동적할당을 안하고 지역변수로 진행해서 stack메모리 초과하여 실패했습니다.static으로 선언해서 스택영역과 데이터영역 둘다 쓰려다가 힙영역에 할당하는 방식으로 변경하였습

2023년 4월 6일
·
0개의 댓글
·
post-thumbnail

philosophers(1) - 스레드, 동기화, 임계 영역, 교착상태

이전 포스트인 pipex에선 프로세스와 프로세스 간 통신인 IPC에 대해 배웠습니다. 이번 philosophers 프로젝트는 스레드와 스레드 동기화 방법, 그리고 운영체제의 교착상태에 대해 설명하겠습니다. 스레드 프로세스 내에서 실행되는 여러 흐름의 단위로 하나의

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

pipex(2) - 파이프 구현

들어가기에 앞서 pipex(1) 내용인 프로그램과 프로세스의 차이 프로세스간 통신인 ipc에 대해 개념파악 처음 접해보는 다양한 내장 함수 활용 인자는 총 5개를 받습니다. 실행파일인 argv[0]을 제외하면 각 인자들은 아래와 같습니다. outfile inf

2023년 4월 2일
·
0개의 댓글
·
post-thumbnail

pipex(1) - 프로세스와 프로세스간 통신 IPC

pipex 프로그램은 리눅스 환경에서 사용 가능한 파이프라인 '|'을 구현하는 프로젝트 입니다. 우선 파이프라인에 대해 구현하기 전에 프로세스가 무엇인지 그리고 프로세스간 통신인 ipc에 이해하고 시작하겠습니다. 프로그램 (Program) 프로그램은 컴퓨터에서 실행될

2023년 4월 2일
·
0개의 댓글
·
post-thumbnail

push_swap(3) - 제한된 환경에서 수 정렬하기

들어가기에 앞서 push_swap(1) 포스트에서 작성한 자료구조에 대해 공부하고 어떤 자료구조를 사용할 지 결정 push_swap(2) 포스트에서 정렬 알고리즘 파악 여러 방식의 알고리즘이 있지만, 요구하는건 명령어 개수가 중요하기 때문에 가장 최적화 된 그리디 알

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

push_swap(2) - 퀵정렬, 병합정렬

push_swap 프로젝트를 진행할 때 많이 사용하는 정렬 알고리즘 중 대표적인 2개 퀵정렬(quick sort)와 병합정렬(merge sort)정렬 알고리즘에 대한 개념을 이해하고 넘어가겠습니다.버블, 선택, 삽입 정렬의 경우 시간복잡도가 O(n^2)으로 효율적이지

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

push_swap(1) - 큐, 스택, 덱 자료구조

push_swap 이란 어떠한 저장공간에 있는 데이터를 한정된 명령어를 이용하여 최대한 적은 횟수 내에 정렬하는 것을 목표로 합니다.성공하기 위해서는 저장공간을 만들고, 다양한 정렬 알고리즘을 조작해 보고, 최적화된 데이터 정렬에 가장 적합한 알고리즘을 선택하여야 합니

2023년 1월 1일
·
0개의 댓글
·
post-thumbnail

fractal - 그래픽 라이브러리 사용해보기

들어가기에 앞서 그래픽 라이브러리인 mlx에 대해 충분히 공부 : 팔만코딩경 mlx 내가 그리려는 fractal에 대해 수식 파악 mlx를 실행시키는 Makefile과 gcc컴파일 방식 파악 🖥️ Mandatory fractal이미지인 Mandelbrot과 Juli

2022년 12월 30일
·
0개의 댓글
·

[BOJ]11054번 가장 긴 바이토닉 부분 수열

가장 긴 바이토닉 부분 수열이전 포스팅인 가장 긴 증가/감소 하는 수열을 잘 이해했다면, 바로 풀 수 있는 문제였습니다.문제를 보자마자 이렇게 해결하면 되겠구나 하고 5분만에 작성했습니다.dp문제를 단순하게 점화식만 찾고 해결하는 방식이 아닌 2가지 경우로 분리 후 다

2022년 12월 18일
·
0개의 댓글
·

[BOJ]11053번 & 11722번 가장 긴 (증가, 감소)하는 부분 수열

가장 긴 증가하는 부분 수열가장 긴 감소하는 부분 수열1\. 가장 긴 증가하는 부분 수열 코드 가장 긴 감소하는 부분 수열 코드점화식을 찾는 과정이 의외로 까다로웠습니다.문제의 입력값의 범위가 1,000개로 시간복잡도 n^2을 사용해도 괜찮다는 판단으로가장 기본적인 D

2022년 12월 17일
·
0개의 댓글
·
post-thumbnail

Born2beroot - 가상머신 및 CS지식

들어가기전에 가상 머신(Virtual Box)의 사용 방법 OS의 차이점 파악 다양한 보안모듈 및 보안시스템 공부 리눅스를 이용해서 자신이 필요한 서비스를 설치 Mandatory Virtual Machine 가상머신 하나의 물리서버를 보다 효율적으로 사용하기

2022년 12월 12일
·
0개의 댓글
·

[BOJ]7569번 토마토

토마토

2022년 12월 10일
·
0개의 댓글
·

[BOJ]2559번 수열

수열

2022년 12월 9일
·
0개의 댓글
·