전체 글
-
DMA(Direct Memory Access)란 왜사용할까? - 수정중컴퓨터과학 2024. 5. 8. 13:29
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개의 구성..
-
쿠버네티스 pod란 ?파드란? pod생성 및 사용법 -수정중Devops/kubernetes 2024. 5. 3. 07:36
Contents --> POD(파드)란?쿠버네티스는 개별 컨테이너를 직접 처리하지 않는다. 공동 배치된 컨테이너의 개념을 사용합니다. 이 컨테이너 그룹을 파드(Pod)라고 한다.Pod는 항상 동일한 작업자 노드와 동일한 Linux 네임스페이스에서 함께 실행되는 하나 이상의 밀접하게 관련된 컨테이너 그룹입니다. 각 Pod는 자체 IP, 호스트 이름, 프로세스 등이 있는 별도의 논리적 시스템과 같으며 단일 애플리케이션을 실행합니다. 응용 프로그램은 단일 컨테이너에서 실행되는 단일 프로세스일 수도 있고, 각각 자체 컨테이너에서 실행되는 기본 응용 프로그램 프로세스 및 추가 지원 프로세스일 수도 있습니다. Pod의 모든 컨테이너는 동일한 논리 머신에서 실행되는 것처럼 보이지만 다른 Pod의 컨테이너는 동일..
-
SQL 인덱스 기본 사용법 - 수정중데이터베이스/최적화 2024. 5. 2. 22:31
수직적 탐색 :수평적 탐색 : 인텍스를 정상적으로 사용한다?인덱스를 정상적으로 사용한다는것은 리프 블록에서 스캔 시작점을 찾고 거기서부터 스캔하다가 중간에 멈추는것을 의미한다. 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..
-
SQL 최적화 테스트공부일기장 2024. 5. 2. 22:30
1.복합 인덱스 테스트이름 ,시력 시력, 이름으로 했을경우 속도가 똑같은지 확인 2.가공한값으로 인덱스 테스트실험 이유 : 이름으로 정렬되어있을경우 (인덱스) 김동완,김진수,김지수 로 되어있을경우만약에 where절에 '진수'로 검색할경우 인덱스 풀스캔을 탄다??인덱스를 탈대는 Index range scan 을 사용해야 정삭적으로 인덱스를 타는것이다.인덱스를 정상적으로 사용한다는것은 리프 블록에 스캔 시작점을 찾는것이다. 3. 라이크롤 인덱스를 태울수없다??실험 : 만약에 인덱스를 탄다는게 리프블록에 스캔 시작점을 찾는것이라면, Like를 썻을때스캔 시작점에 있는 이름과 똑같이 적는다면 과연 인덱스를 태울까?예) Like 김동완
-
minikube install공부일기장 2024. 5. 2. 07:26
```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..
-
NAT (Network Address Translation)란? - 수정중컴퓨터과학/네트워크 2024. 4. 30. 10:43
Contents --> NAT(Network Address Translation)란? 결론부터 말하자면 IP 주소를 변환하겠다는 것이다. 대게 사설 네트워크들은 여러개의 호스트가 하나의 공인 IP를 사용한다. IP갯수는 한정적이고 IP를 사용하는 호스트들은 점점 늘어나며 그로인해 IP갯수의 모자람을 방지하기 위해 가정마다 공인 IP 하나씩만을 사용하고 사설네트워크를 구축하여 사용한다. 즉 공인 IP가 231.121.222.122이라고 치면 해당 가정에서 3개의 PC를 가지고 있다면 사설네트워크를 사용하여 192.168.0.1, 192.168.0.2, 192.168.0.3 이렇게 내부망에서만 사용하는 IP를 사용한다. 하지만 여기서 문제는 192.168.0.1, 192.168.0.2, 192.168.0...
-
Kubernetes 필요이유 , Kubernetes란 무엇인가? 쿠버네티스란? k8s?,Docker? -1Devops/kubernetes 2024. 4. 29. 21:32
Contents --> '쿠버네티스 인 액션' 을보고 정리한 내용입니다.쿠버네티스(kubernetes)k8s 필요이유?오늘날 이러한 대규모 모놀리식 레거시 애플리케이션은 마이크로서비스라고 하는 더 작고 독립적으로 실행되는 구성 요소로 서서히 세분화되고 있습니다.왜냐하면 마이크로서비스는 서로 분리되어 개별적으로 개발, 배포, 업데이트 및 확장할 수 있습니다. 이를 통해 구성 요소를 신속하게 그리고 필요한 만큼 자주 변경하여 오늘날의 급변하는 비즈니스 요구 사항을 따라잡을 수 있습니다.그러나 배포 가능한 구성 요소의 수가 증가하고 데이터 센터가 점점 더 커지면서 전체 시스템을 구성, 관리 및 원활하게 실행하는 것이 점점 더 어려워지고 있습니다. 높은 리소스 활용도를 달성하고 하드웨어 비용을 낮추기 위해..
-
직렬화란?(serialization),역직렬화란?? java.io.Serializable컴퓨터과학 2024. 4. 25. 18:24
Contents --> 직렬화란 무엇인가?? 데이터 직렬화(serialization)이란 메모리 데이터를 디스크에 저장하거나, 네트워크 통신에 사용하기 위해 해당 데이터 형식으로 변환하는 것을 말한다.역직렬화(deserialization)이란 그 반대 개념으로, 디스크나 네트워크에서 받은 데이터를 메모리에 쓸 수 있도록 변환하는 것이다. 데이터 직렬화는 데이터의 전송/저장 혹은 설정 파일 등에 사용된다. 값을 직렬화 하자 int t = 0; //기본형 변수 Integer g = 5; //참조형 변수 자바에선 위와같이 , 기형 , 참조형으로 데이터를 저장한다. 값형은 메모리상에 직접적으로 데이터가 들어가있는 경우고 참조형 같은경우에는 값을 가리키고 있는 메모리 주소값을 저장한다. 만약 ..