-
오늘의 질문 - 분산 시스템과 자원 관리
📚 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
-
모든 개발자를 위한 HTTP 웹 기본 지식 6. 캐시와 조건부 요청
인프런 강의 모든 개발자를 위한 HTTP 웹 기본 지식 수강내용 정리 캐시 아래와 같이 요청하면 응답 결과를 캐시에 저장한다. 응답 시 서버에서 max-age 로 유효 시간(초)을 지정한다. 예) cache-control: max-age=60 지정한 시간 내 동일한 파일을 재요청한다면 네트워크를 사용하지 않고 캐시에 저장된 데이터를 사용한다. 캐시 덕분에 일정 시간동안 네트워크를 사용하지 않아도 된다. 만약 캐시가 없으면 데이터가 변경되지 않아도 매번 데이터를 다운로드 받아야 하기 때문에 브라우저 로딩 속도가 느려져 사용자 경험 또한 느릴 것이다. 한번 다운로드 받은 파일의 캐시 만료 ... Read More