코딩 도구(328)
-
CS 공부 & 면접 맛보기 0x11 [운영체제] : 페이징이란
질문페이징(Paging)이란 무엇인가요?면접 답변페이징(Paging)은 하나의 프로세스가 사용하는 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 기법입니다. 도입 이유: 외부 단편화와 압축 작업을 해소하기 위해 고안되었습니다. 동작 방식: 물리 메모리는 프레임(Frame)이라는 고정 크기의 블록으로 나뉩니다. 논리 메모리(프로세스 메모리)는 페이지(Page)라는 고정 크기의 블록으로 나뉩니다. 장점:논리 메모리는 물리 메모리에 연속적으로 저장될 필요가 없음.외부 단편화(External Fragmentation) 해결 가능.남는 프레임에 페이지를 효율적으로 배치.단점:내부 단편화(Internal Fragmentation) 문제 해결 불가.예시: 페이지 크기가 4K..
2025.01.24 -
이스케이프 문자 캐리지 리턴(Carriage Return, \r): 개념과 활용
캐리지 리턴(Carriage Return)은 이스케이프 문자로 \r로 표현됩니다. 이 글에서는 캐리지 리턴의 개념, 역사적 배경, 동작 방식, 그리고 실질적인 활용 사례에 대해 다룹니다.캐리지 리턴의 개념캐리지 리턴(Carriage Return)은 텍스트 커서를 현재 줄의 맨 앞으로 이동시키는 역할을 합니다. 이 기능은 타자기와 같은 기계식 입력 장치에서 유래되었습니다. 문자 그대로 해석하면, "캐리지를 원래 위치로 되돌린다"는 의미를 가지고 있습니다.이스케이프 문자와 캐리지 리턴이스케이프 문자 \r:텍스트의 커서를 같은 줄의 맨 앞으로 이동시킵니다.이와 함께 줄 바꿈(Line Feed, \n)을 사용하면 새 줄로 이동하면서 커서를 맨 앞으로 보낼 수 있습니다.캐리지 리턴의 역사적 배경타자기와 초기 프린..
2025.01.23 -
CS 공부 & 면접 맛보기 0x10 [운영체제] : Process 상태 변화 과정
질문프로세스의 상태 변화 과정은 어떻게 이루어지나요?면접 답변프로세스의 상태 변화는 Submit → Hold → Ready → Run → Wait/Exit의 순서로 진행됩니다. 각 상태는 프로세스의 실행 흐름과 자원 할당 상황을 반영합니다. 1. Submit (제출)사용자가 작업을 시스템에 제출한 상태입니다.아직 메모리에 적재되지 않은 상태이며, 작업 대기열에 들어가 있습니다. 2. Hold (대기)제출된 작업이 스풀 공간(디스크의 할당 위치)에 저장된 상태입니다.Spooling(스풀링)느린 입출력 장치의 속도를 보완하기 위해 사용되는 기법입니다.입출력 데이터를 직접 장치에 전송하지 않고 디스크에 임시 저장한 뒤, 한 번에 처리합니다. 3. Ready (준비)프로세스가 CPU를 할당받기 위해 대기 중인 ..
2025.01.22 -
[React와 Typescript] 종속성, JSX, MUI 문제들 해결
React 프로젝트에서 겪을 수 있는 주요 문제와 해결 방법React와 TypeScript, 그리고 MUI(Material-UI)와 관련된 문제들을 해결하며 많은 것을 배웠습니다. 문제 1: 종속성 충돌(Dependency Conflicts)상황React 프로젝트를 세팅하거나 새로운 라이브러리를 설치할 때 npm install 또는 yarn install 명령어 실행 시, ERESOLVE 에러가 발생했습니다.에러 메시지 예시:npm ERR ERESOLVE could not resolve npm ERR Conflicting peer dependency: typescript@4.9.5 이 문제는 프로젝트에 설치된 react-scripts, typescript, 또는 기타 라이브러리 간의 버전 호환성 문제에서..
2025.01.21 -
CS 공부 & 면접 맛보기 0x0F [운영체제] : 인터럽트와 트랩
인터럽트와 트랩질문인터럽트(Interrupt)와 트랩(Trap)의 차이점은 무엇인가요?면접 답변인터럽트(Interrupt)와 트랩(Trap)은 모두 CPU의 정상적인 명령어 흐름을 제어하는 메커니즘입니다. 그러나 발생 원인과 동작 방식에서 차이가 있습니다. 인터럽트(Interrupt): 외부 하드웨어 장치(키보드, 마우스, 타이머 등)에 의해 발생. 비동기적으로 발생하며, 현재 실행 중인 프로세스를 일시 중지하고 처리. 트랩(Trap): 소프트웨어에 의해 발생하는 예외 상황이나 시스템 호출로 발생. 동기적으로 발생하며, 예외 상황(예: 0으로 나누기) 처리 또는 OS 서비스 요청. 1. 인터럽트(Interrupt)란?정의: 인터럽트는 CPU가 프로그램 ..
2025.01.20 -
[React] 프로젝트 생성 중 npm 이름 규칙 오류, 종속성 충돌 문제 web-vitals 관련 오류
제가 React 프로젝트 생성 중 실제로 겪었던 문제와 해결 방법을 공유해 보겠습니다.1. npm 이름 규칙 오류React 프로젝트를 생성하려고 다음 명령어를 실행했습니다:npx create-react-app LottoVerse 그러나 오류 메시지가 출력되었습니다:Cannot create a project named "LottoVerse" because of npm naming restrictions: * name can no longer contain capital letters원인: npm은 프로젝트 이름에 대문자를 허용하지 않습니다. 문제해결npm에서 대문자가 포함된 이름을 허용하지 않기 때문에, 프로젝트 이름을 소문자로 수정해 명령어를 실행했습니다:npx create-react-app lottov..
2025.01.19