Home
Dev Joon
Cancel

[42Seoul] minishell (1) 개념 정리

gnu bash reference 에 있는 자료를 토대로 bash 가 작동하는 원리를 정리한 내용이다. bash 작동 원리 1. 파일 읽기 filename arguments 파일 실행 filename 을 읽어서 실행한다. 그리고 exit 한다. 이를 non-interactive shell 이라 한다. 사용자가 명령을 입력할 수 ...

[Jekyll] invalid byte sequence in US-ASCII 오류 해결

🧐오류 발생 상황 github.io 블로그에 게시물을 올리기 전에 로컬 환경에서 테스트 하기 위해 아래와 같은 명령어를 실행시켰다. bundle exec jekyll serve 하지만, 아래와 같은 오류를 출력했다. [!] There was an error parsing `Gemfile`: [!] There was an error while...

프로그래머스 Level 1 - 콜라 문제 (JavaScript)

프로그래머스 - Level1 콜라 문제 문제 설명 설명 생략 🙋‍♂️나의 풀이 🤔문제 접근 문제의 지문이 길었지만, 문제에서 요구하는 바는 지문의 하단에 나와있었다. 나눗셈을 통한 몫과 나머지를 이해한다면 쉽게 풀 수 있는 문제다. 교환에 필요한 콜라병은 a , 교환에서 받을 수 있는 콜라병은 b, 현재 가지고 있는 콜라병은 n 이...

스레드란?

스레드 스레드를 이해하기 위해서는 프로그램, 프로세스를 이해할 필요가 있다. 프로그램과 프로세스 프로그램은 파일이 저장 장치에 되어있지만, 메모리(RAM)에 올라가 있지 않은 정적인 상태이다. 메모리에 올라가지 않았다는 것은 운영체제가 프로그램에게 독립적인 메모리 공간을 할당하지 않았다는 의미이다. 모든 프로그램은 운영체제가 자원을 할당해...

[42Seoul] 식사하는 철학자(Philosopher) 과제 구현 과정 및 회고

플로우차트 Mandatory Bonus 식사하는 철학자 문제 식사하는 철학자 문제는 운영체제에서 교착상태(Deadlock)을 설명하기 위한 문제이다. 교착상태 교착상태란 운영체제 또는 소프트웨어의 잘못된 자원 관리로 두 개 이상의 작업이 서로의 작업이 끝나기만을 기다려서 결과적으로 아무 것도 완료되지 못하는 상태를 의미한다. 조금 더...

[42Seoul] push_swap 구현 과정

플로우차트 Mandatory Bonus 인자값 ./push_swap 4 2 1 3 5 인자가 입력된 순서대로 스택 A에 저장한다. 즉, 가장 먼저 들어온 인자는 스택 A의 맨 밑에, 가장 나중에 들어온 인자는 스택 A의 맨 위에 위치한다. 자료구조 스택을 구현하기 위해 원형 양방향 연결 리스트를 사용했다. 스택의 상단 ...

[so_long] so_long 구현 과정 및 MLX 라이브러리 활용

플로우차트 화면 띄우기 mlx 라이브러리를 이용해서 화면을 띄운다. // main.c #include "./mlx/mlx.h" // 윈도우 크기 #define WINDOW_WIDTH 500 #define WINDOW_HEIGHT 500 int main(void) { void *mlx_ptr; void *win_ptr; mlx_ptr...

웹 서버와 WAS, CGI (feat. 스레드와 프로세스)

TL; DR 웹 서버는 변하지 않는 정적 콘텐츠(HTML, CSS, JS, 이미지, 동영상 등)를 담당한다. WAS는 사용자의 요청에 따라 변하는 동적 페이지를 담당한다. (CGI의 단점을 보완한 것이 WAS) 웹 서버와 WAS를 나눠서 사용하는 이유는 서버의 부담을 분산시키기 위함이다. 프로세스는 프로그램을 실행한 것, 스레드는 프...

shasum 이란?

shasum? shasum 은 SHA 해시 암호 알고리즘을 사용해서 암호화된 데이터(다이제스트)를 생성하는 프로그램이다. 원본 파일이 변경되었는지 검사하는 체크섬(checksum) 검사에 주로 사용된다. 간단한 예시는 다음과 같다. hello 위와 같은 텍스트를 저장하고 shasum 을 수행하면 다음과 같은 값이 저장된다. f572d396...

솔트(salt) 개념

솔트? 소금? 출처: hospitality 솔트(salt)란 단방향 해시 함수에서 원본 데이터를 복원하기 어렵도록 암호화 하기 전에 임의로 추가하는 데이터를 의미한다. 음식에 소금을 뿌릴 때마다 맛이 조금씩 바뀌는 것과 비슷한 개념으로 salt 라는 단어를 사용한다. 단방향 해시 함수? 단방향 해시 함수는 입력값을 문자와 숫자로 이루어진 ...