본문 바로가기
728x90
반응형

분류 전체보기155

동기(sync)/비동기(async) , 블로킹(blocking)/논블로킹(nonblocking) 쉽게 이해하고 완전 정복 하자 with 예제코드 with java Contents  -->    예전에 공부했는데 다시보면 헷갈리는 동기,비동기, 블로킹,논블로킹에 대해 마스터 하겠다고 생각하고정리한내용을 적어봅니다. 동기(Sync) Vs 블록킹(Blocking)일단 제목만 봐도 두개가 다른 개념이라는것을 알수있다. 한번 정의를 내려보자 동기(Sync):작업들이 순차적으로 실행되고, 다음 작업은 이전 작업이 완료될 때까지 기다립니다. 이는 여러 작업들이 순서대로 진행되는 것을 의미합니다.블로킹(Blocking):한 작업이 완료될 때까지 다른 작업을 멈추고 대기하는 것을 의미합니다. 보통 입출력 작업이나 네트워크 호출과 같은 I/O 작업에서 발생합니다. 두개의 개념은 비슷하면서도 다른의미를 가지고 있다. 즉, 동기적 작업은 순서대로 실행되지만, 블로킹이 발생할 수도 있고.. 2024. 5. 8.
DMA(Direct Memory Access)란 왜사용할까? - 수정중 Contents  --> 입출력 제어 방식프로그램(프로세스)에 의한 I/O (cpu 개입)인터럽트에 의한 I/O (cpu 개입)DMA에 의한 I/O (cpu 개입하지 않음)채널에 의한 I/O (cpu 개입하지 않음)  DMA (직접 메모리 접근) DMA는 주변장치 (하드디스크,그래픽카드)등이 메모리에 직접 읽거나 쓸수있도록 하는 기능입니다. DMA는 Cpu의 개입없이 I/O를 진행하는 방식입니다. Cpu PIO 토대로 주변장치와 데이터를 주고받으며 , cpu 싸이클을 돌며 데이터를 주고받기떄문에 약간에 딜레이가 존재합니다. ( 대기,실행,준비 등 사이클을 반복하며 프로세스가 동작함) 이를 극복하기위해 DMA기술이 개발되었습니다.  예를 들어, 시스템에 CPU 자체, RAM 및 I/O 장치 등 3개의 구성.. 2024. 5. 8.
쿠버네티스 pod란 ?파드란? pod생성 및 사용법 -수정중 Contents  -->   POD(파드)란?쿠버네티스는 개별 컨테이너를 직접 처리하지 않는다. 공동 배치된 컨테이너의 개념을 사용합니다. 이 컨테이너 그룹을 파드(Pod)라고 한다.Pod는 항상 동일한 작업자 노드와 동일한 Linux 네임스페이스에서 함께 실행되는 하나 이상의 밀접하게 관련된 컨테이너 그룹입니다. 각 Pod는 자체 IP, 호스트 이름, 프로세스 등이 있는 별도의 논리적 시스템과 같으며 단일 애플리케이션을 실행합니다. 응용 프로그램은 단일 컨테이너에서 실행되는 단일 프로세스일 수도 있고, 각각 자체 컨테이너에서 실행되는 기본 응용 프로그램 프로세스 및 추가 지원 프로세스일 수도 있습니다. Pod의 모든 컨테이너는 동일한 논리 머신에서 실행되는 것처럼 보이지만 다른 Pod의 컨테이너는 동일.. 2024. 5. 3.
SQL 인덱스 기본 사용법 - 수정중 수직적 탐색 :수평적 탐색 : 인텍스를 정상적으로 사용한다?인덱스를 정상적으로 사용한다는것은 리프 블록에서 스캔 시작점을 찾고 거기서부터 스캔하다가 중간에 멈추는것을 의미한다. OR 조건 검색수직적 탐색을 통해 전화번호가 '01022222222'이거나 고객명이 '홍길동' 인 어느 한 시작지점을 바로 찾을수 없다따라서 인덱스를 어떤 방식을 구성해도 Range Scan을 할수없다where (전화번호 = :tel_no  OR 고객명 = :cust_nm) 위와같은 쿼리는 select *from 고객where 고객명 = :cust_nmunion allselect *from 고객where 전화번호 =:tel_noand (고객명 :cust_nm or 고객명 is null) 로 변경하면 인덱스를 타고 이것을 OR E.. 2024. 5. 2.
SQL 최적화 테스트 1.복합 인덱스 테스트이름 ,시력 시력, 이름으로 했을경우 속도가 똑같은지 확인  2.가공한값으로 인덱스 테스트실험 이유 : 이름으로 정렬되어있을경우 (인덱스) 김동완,김진수,김지수 로 되어있을경우만약에 where절에 '진수'로 검색할경우 인덱스 풀스캔을 탄다??인덱스를 탈대는 Index range scan 을 사용해야 정삭적으로 인덱스를 타는것이다.인덱스를 정상적으로 사용한다는것은 리프 블록에 스캔 시작점을 찾는것이다. 3. 라이크롤 인덱스를 태울수없다??실험 : 만약에 인덱스를 탄다는게 리프블록에 스캔 시작점을 찾는것이라면, Like를 썻을때스캔 시작점에 있는 이름과 똑같이 적는다면 과연 인덱스를 태울까?예) Like 김동완 2024. 5. 2.
minikube install ```bashminikube stop; minikube deletedocker stop $(docker ps -aq)rm -r ~/.kube ~/.minikubesudo rm /usr/local/bin/localkube /usr/local/bin/minikubesystemctl stop '*kubelet*.mount'sudo rm -rf /etc/kubernetes/docker system prune -af --volumes```**Final**```bashminikube stop; minikube delete &&docker stop $(docker ps -aq) &&rm -rf ~/.kube ~/.minikube &&sudo rm -rf /usr/local/bin/localkube /usr/local.. 2024. 5. 2.
728x90
반응형