-
오늘의 질문 - 유닉스 시스템 구조와 통신 장치, 다중화 방식
📚 ChatGPT 오늘의 질문 & 정리 모음 ❓ 유닉스에서 커널은 어떤 역할을 하는가? 답변: 커널은 운영체제의 핵심으로, 하드웨어 자원을 직접 제어하며 사용자 프로그램이 요청하는 시스템 기능을 수행한다. 메모리 관리, 프로세스 스케줄링, 입출력 제어, 파일 시스템 등이 모두 커널이 담당하는 영역이다. ❓ 쉘은 무엇이며, 커널과 어떤 관계에 있는가? 답변: 쉘은 사용자의 명령을 받아 해석하고, 이를 커널에 전달해 실제 실행이 이뤄지게 한다. 사용자는 쉘을 통해 간접적으로 커널 기능을 사용할 수 있다. ❓ 유닉스 파일 시스템에서 ‘모든 것을 파일로 추상화’ 한다는 것은 무슨 의미인가? 답... Read More
-
오늘의 질문 - 분산 시스템과 자원 관리
📚 ChatGPT 오늘의 질문 & 정리 모음 ❓ 파일 디스크립터란? 운영체제가 파일, 소켓, 파이프 등 입출력 자원을 관리하기 위해 부여하는 정수 ID. 파일 디스크립터는 실제 파일 정보를 가리키는 핸들 역할을 하며, 커널 내부 자료구조와 연결된다. ❓ 파일을 구성하는 레코드 편성 방식? 레코드들이 보조기억장치에 저장되는 방식에는 다음이 있다: 순차 편성: 순서대로 저장, 전체 읽기에 적합 색인 순차 편성: 색인 테이블을 두어 빠른 검색 가능 해싱 편성 (또는 Direct 편성): 해시 함수로 직접 위치 계산 ❓ 해싱 편성과 Direct 편성은 같은 말인가? 거의 같은 ... Read More
-
오늘의 질문 - 디스크 구조와 스케줄링 알고리즘
📚 ChatGPT 오늘의 질문 & 정리 모음 ❓ 디스크 스케줄링이란? 디스크 I/O 요청들을 처리하는 순서를 정하는 알고리즘 목적은 디스크 헤드의 이동을 최소화해서 전체 응답 시간을 줄이는 것 알고리즘 설명 특징 FCFS First Come First Serve 순서대로 처리, 비효율적 SSTF Shortest Seek Time First 가장 가까운 요청부터 처리, 효율적이지만 기아 발생 가능 SCAN ... Read More
-
오늘의 질문 - 가상 기억장치와 메모리 관리 개념
📚 ChatGPT 오늘의 질문 & 정리 모음 ❓ 단편화에 대해서 설명해줘 ✅ 요약 내부 단편화: 고정 크기 블록을 할당했을 때 일부가 사용되지 않고 낭비됨 외부 단편화: 연속되지 않은 빈 공간들이 흩어져 있어 필요한 메모리를 할당하지 못하는 현상 해결책: 압축(compaction), 페이징, 가변 크기 할당 ❓ A: 0~10KB, B: 10~18KB로 연속 배치하면 빈 공간이 뒤로 몰리지 않나? ✅ 요약 이론적으로는 맞음: 연속된 공간에 넣으면 단편화가 줄어듦 하지만 현실에서는 실행 중인 프로세스는 이동 불가하고, 주소 참조 문제가 있어 OS가 임의로 위치를 조정하지 못... Read More
-
eslint 사용 환경에서 no-unused-vars 에러 -> 경고로 설정 변경
tsconfig.json noUnusedLocals, noUnusedParameters 를 false 로 변경 { "compilerOptions": { "noUnusedLocals": false, "noUnusedParameters": false } } .eslintrc.cjs rules 하위의 no-unused-vars 는 off로, @typescript-eslint/no-unused-vars 를 warn 으로 변경 module.exports = { rules: { 'no-unused-vars': 'off', '@typescript-eslint/no-unu... Read More
-
vite 환경에서 환경변수 사용
용도 별 env 파일 생성 .env # 모든 상황에서 사용될 환경 변수 .env.local # 모든 상황에서 사용되나, 로컬 개발 환경에서만 사용될(Git에 의해 무시될) 환경 변수 .env.[mode] # 특정 모드에서만 사용될 환경 변수 .env.[mode].local # 특정 모드에서만 사용되나, 로컬 개발 환경에서만 사용될(Git에 의해 무시될) 환경 변수 환경변수 생성 vite 환경에서 사용할 변수는 앞에 VITE_ 를 붙인다. VITE_TEXT_A=aaa 사용 javascript impo... Read More
-
download Blob file
excel 파일을 blob 형태로 다운로드 받아야 하는데, 할 줄 몰라서 헤맴… blob 데이터 다운로드 시 header 에 response type 을 blob 으로 지정해 요청한다. export function post<T>(url: string, data: T, isResponseTypeBlob?: boolean) { const config: AxiosRequestConfig = { baseURL: API_ROOT, }; if (isResponseTypeBlob) { config.responseType = 'blob'; } return axios.post(url, data, config); ... Read More
-
SVG 아이콘 background-image 로 사용하기
APP UI에 SVG 아이콘을 css의 background-image 로 썻는데 꽤 편리하고 괜찮은 것 같아서 남겨둔다. SVG 코드를 URL-encoder for SVG 페이지의 Insert SVG: 부분에 입력하면 아래 Ready for CSS: 부분에 인코딩되어 출력된다. SVG 아이콘은 그때그때 검색해서 flaticon 등의 사이트에서 찾아서 사용한다. SVG 이미지를 css에서 다루면서 가장 유용했던 부분은 체크박스 커스텀이었다. button이나 textarea, 특히 타입이 여러개로 나뉘는 Input 은 컴포넌트화 해서 사용하는 편인데, 체크박스나 라디오 타입은 커스터마이징 하기 번거로운 편이... Read More
-
README 파일내 뱃지 아이콘 추가
매번 검색하기 번거로워서 남겨두는 글. README 파일 작성하면서 사용한 라이브러리/프레임워크를 뱃지 형태의 이미지로 나열했는데, shields.io 에서 제공하는 url 로 원하는 뱃지를 만들어 사용할 수 있다. <img src="https://img.shields.io/badge/{표시텍스트}-{컬러코드}?style=flat-square&logo={로고}&logoColor=white"/> {} 표시 한 부분만 수정해서 사용한다. {컬러코드} : HexCode 형태의 컬러코드 {로고} : 표시할 라이브러리 이름 {표시텍스트} : 뱃지에 표시할 텍스트 (라이브러... Read More
-
그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
인프런 강의 그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편) 수강내용 정리 시간복잡도 특정 알고리즘이 어떤 문제를 해결하는 데 걸리는 시간을 표현하는 방법이다. 반복문은 코드 성능에 많은 영향을 준다. 반복문이 여러 번 반복될수록 실행시간이 길어진다. 따라서 특정 알고리즘의 성능을 평가할 때 해당 알고리즘의 반복문을 보고 성능을 평가한다. Big-Ω (빅 오메가) 알고리즘의 최선의 시간 복잡도를 나타낸다. 즉, 알고리즘의 수행 시간이 가장 짧은 경우를 표기한다. Big-O (빅 오) 알고리즘의 최악의 시간복잡도를 나타낸다. 즉, 알고리즘의 수행 시간이 가장 오래 걸리는 경우를 표기... Read More