728x90
반응형
-
-
[DAP자격증] 과목5 - 오버헤드(Overhead)란? 오버헤드(Overhead)란?**오버헤드(Overhead)**는 어떤 작업을 수행할 때 추가적으로 발생하는 비용(자원, 시간, 메모리 등)을 의미해.즉, 실제 작업을 수행하는 데 직접적인 기여를 하지 않지만, 부가적으로 필요한 것들이야.1. 오버헤드의 종류✅ 성능(연산) 오버헤드프로그램이나 시스템이 어떤 작업을 수행하는 데 필요한 추가적인 연산 비용예시:가상화 환경에서 CPU가 가상 머신을 관리하는 데 드는 연산 비용DB에서 쿼리 실행 시 인덱스를 유지하거나 캐시를 관리하는 데 드는 연산✅ 메모리 오버헤드프로그램이 실행될 때 추가적으로 소비하는 메모리예시:Python에서 동적 메모리 할당 시 발생하는 추가적인 메모리 사용량DB에서 트랜잭션을 관리하기 위한 로그 저장 공간✅ 네트워크 오버헤드데이터를 전송할..
-
Spring - Part1-1 스프링 개발 환경 구축 (개발환경설정) 코드로 배우는 스프링 웹 프로젝트[개정판] https://cafe.naver.com/gugucoding1. 개발환경설정이클립스 버전 선택 : Java 1.8 버전 선택시, 이클립스는 2019-06 버전을 선택한다. (자바 1.8 버전 + 스프링 최적화) https://www.eclipse.org/downloads/packages/release/2019-06/r/eclipse-ide-enterprise-java-developers톰캣 : 9 버전 Spring Tool Suite:내 이클립스 버전에 맞는 STS로 선택한다. https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3#latest-sts3-downloadsSpr..
-
[Eclipse] 프로젝트에 라이브러리 추가 이클립스에서 라이브러리 인식 문제가 발생하면, 프로젝트에 라이브러리가 제대로 추가되었는지 확인하고, 라이브러리 경로가 유효한지 점검해야 합니다.문제 해결을 위해 해당 프로젝트의 Java Build Path를 확인하여 라이브러리를 다시 추가하거나, 메이븐(Maven) 프로젝트인 경우 mvn clean install을 실행하고 프로젝트를 클린(Clean)하여 빌드 설정을 갱신할 수 있습니다. 라이브러리 경로 문제 해결 방법Java Build Path 설정 확인 및 재추가:라이브러리를 추가하려는 프로젝트에서 마우스 오른쪽 버튼을 클릭하고 Properties > Java Build Path로 이동합니다.Libraries 탭에서 라이브러리가 추가되어 있는지 확인하고, 빨간 느낌표가 표시되어 있다면 경로가 잘못된.. -
[DAP자격증] 5과목 - B-Tree 인덱스 vs. Bitmap 인덱스 B-Tree 인덱스 vs. Bitmap 인덱스데이터베이스에서 검색 성능을 최적화하기 위해 B-Tree 인덱스와 Bitmap 인덱스가 사용돼. 두 인덱스는 각각의 특성과 용도가 다르므로, 차이점을 이해하는 것이 중요해.1. B-Tree 인덱스 (Balanced Tree Index)B-Tree 인덱스는 대부분의 데이터베이스 시스템에서 기본적으로 사용되는 인덱스 구조야.🔹 B-Tree 인덱스의 특징트리 구조를 기반으로 균형(Balanced) 유지데이터가 계속 삽입, 삭제, 수정되어도 인덱스가 균형을 유지하여 성능이 일정함각 노드가 여러 개의 키 값을 저장할 수 있어 검색, 삽입, 삭제 시 성능이 안정적범위 검색(Range Scan)에 최적화되어 있음🔹 B-Tree 인덱스의 동작 방식루트 노드에서 시작하여 ..
-
Stock Dashboard 개발기 #0 - 맥에서 Java 개발 환경 셋팅하기 (JDK 21 + VS Code) 맥에서 Java 개발 환경 셋팅하기 (JDK 21 + VS Code)들어가며Java 8 기반 금융권 레거시 환경에서 일하다 보면, 요즘 기업들이 원하는 기술 스택과 거리가 생긴다.현대적인 Java 개발 환경을 처음 셋팅하면서 겪은 과정을 그대로 정리했다.Java 버전 명칭, 헷갈리지 말자금융권에서 Java 1.8을 쓰다 보면 Java 21이 엄청난 버전 차이처럼 느껴진다.근데 사실 그렇지 않다.Java 1.6 = Java 6Java 1.7 = Java 7Java 1.8 = Java 8 ← 금융권에서 많이 쓰는 버전Java 9, 10, 11 ... 21 ← 9부터 숫자 그대로Oracle이 Java 9부터 버전 명칭 방식을 바꿨다. 1.x → 숫자.즉, Java 1.8과 Java 21은 8 → 21, 1.. -
[Python] 파이썬 파일/경로 호출 관련 정리 사전준비파일 및 디렉토리 경로에 관한 함수는 모두 os 모듈을 사용하므로os 모듈 import 필요.import os현재 작업 폴더 얻기os.getcwd() : get current working directory print(os.getcwd()) # /Users/evan/dev/python/web-crawler-py/parsed_data # C:\Users\AreumKang\PycharmProjects\Sleep_music_project print(__file__) # C:\Users\AreumKang\PycharmProjects\Sleep_music_project\unit_test.py디렉터리 변경os.chdir(path) : path는 문자열 이어야 함.os.chdir("..")# C:\Users..
-
버퍼와 캐시의 개념과 차이점 기본요약구분버퍼(Buffer)캐시(Cache)목적데이터를 안전하게 임시 저장해서 흐름을 조절나중에 또 쓸 데이터를 빠르게 꺼내기 위한 임시 저장소주요 사용목적입출력(I/O) 속도 차이 조절할 때데이터 재사용률이 높을 때특징한번 쓰고 버림 (One-time pass)여러 번 재사용 (Reuse)비유"화장실 줄 서기" 한 명씩 보내려고 줄 세우는 공간"냉장고" 자주 먹는 음식은 바로 꺼내 먹을 수 있게 저장대표 예시디스크 쓰기 버퍼, 네트워크 버퍼DB 캐시, 브라우저 캐시, CPU 캐시Buffer (버퍼): 흐름을 “일시적으로 저장”해서 속도 맞추는 중간 공간목적 : 시스템 구성요소 간에 속도 차이가 있을 때, 그걸 “완충”하기 위해 사용됨예 : 네트워크에서 한 번에 1바이트씩 받으면 비효율 → 1024바이..
-
[PL/SQL] 대량 데이터 삭제 쿼리 업무에서 대량 데이터를 삭제하는 DB보정 작업을 할 일이 생겼다.(프로젝트팀에서 새로운 프로세스 개발할때 파기프로세스도 잊지말고 적용해주세요... plz...) 총 7개의 테이블에 약 500만건의 데이터를 삭제하는 건데.. 삭제 쿼리 짜면서 임시 테이블로 테스트하는 쿼리도 짜서 돌려봄..! (PL/SQL 공부도 겸사겸사.. 더 하자..!) 영향범위 파악 : 해당 7개의 테이블은 카드신청시 대외기관에서 조회한 정보를 적재 후 심사진행에서 활용되는 OLTP서비스 위주의 테이블이다. 즉, 실시간으로 일평균 각 테이블별 6천~ 1.3만 건의 데이터가 적재되고 있다. 분석 내용 : 삭제 해야하는 데이터는 1년 경과한 데이터부터 최근 데이터까지 다양하며, 각 테이블별 70% 정도의 데이터를 삭제해야 하는 상황이다..
-
[DAP자격증] 과목5 - SQL 통계정보 보는법 (Parse, Execute, Fetch) SQL 성능 개선을 위해 SQL 통계 정보를 확인할 때, CALL의 Parse, Execute, Fetch 단계와 COUNT, ROWS 값이 어떤 의미를 가지는지 정확히 이해하는 것이 중요해.1. SQL Call의 3가지 단계: Parse, Execute, Fetch데이터베이스에서 SQL을 실행하면 3가지 주요 단계를 거쳐.✅ 1) Parse (파싱 단계)SQL 문을 데이터베이스가 해석하고 실행 계획을 생성하는 과정주요 작업:SQL 문법 체크객체(테이블, 인덱스 등) 유효성 검증실행 계획(Execution Plan) 생성 또는 재사용 (Hard Parse vs. Soft Parse)🔹 Hard Parse vs. Soft ParseHard Parse: 처음 실행되는 SQL이거나 실행 계획을 새로 만들어야..
-
[DAP자격증] 5과목 - 조인종류 : Hash Join, Nested Loop Join, Sort Merge Join Hash Join과 Hash Join 알고리즘Hash Join(해시 조인)은 대량의 데이터를 조인할 때 사용되는 효율적인 알고리즘입니다. 특히, Nested Loop Join이나 Sort Merge Join보다 성능이 우수한 경우가 많아, 대부분의 RDBMS에서 대용량 데이터 조인 시 기본적으로 사용됩니다.1. Hash Join 개요Hash Join은 한 테이블을 해시 테이블로 변환하고, 다른 테이블의 데이터를 해시 테이블과 비교하면서 조인을 수행하는 방식입니다.작은 테이블을 메모리에 적재하여 해시 테이블을 생성한 후, 큰 테이블을 스캔하면서 해시 테이블과 비교하여 조인을 수행합니다.조인 조건이 **등가 조건(=)**인 경우에만 사용할 수 있습니다.대량의 데이터를 처리하는 데 적합하며, 정렬이 필요하지 ..
728x90