본문 바로가기

공부 기록

(319)
[10분 테코톡] 디디의 Redis https://youtu.be/Gimv7hroM8A Redis(Remote Dictionary Server) : 외부에 있는(Remote) Dictionary라는 자료 구조를 사용하는 서버 - Database, Cache, Message broker - In-memory Data Structure Store - Supports rich data structure Cache : 나중의 요청에 대한 결과를 미리 저장했다가 빠르게 사용하는 것 In-memory Database : Database보다 더 빠른 Memory에 더 자주 접근하고 덜 자주 바뀌는 데이터를 저장하자. Java - Redis => 서버가 여러 대인 경우 Consistency의 문제 발생 Race Condition : 여러 개의 Threa..
[우아콘2020] 수십억건에서 QUERYDSL 사용하기 https://youtu.be/zMAX7g6rO_Y - JPAQueryFactory만 있으면 Querydsl을 사용할 수 있다. extends/implements를 다 제거해도 된다. - 동적 쿼리는 BooleanExpression 성능 개선 - Select exist 메서드 금지 SQL.exist는 조건에 맞는 값을 찾으면 바로 종료, SQL.count는 조건에 맞는 값을 찾아도 모두 스캔 Querydsl의 exists는 실제로 count() > 0 으로 실행된다. => exists를 직접 구현해야 한다. => limit 1로 조회 제한 cross join 회피 묵시적 join으로 cross join 발생(Hibernate 이슈라서 Spring Data JPA도 동일하게 발생!) => 명시적 join으..
MAC주소, IP주소, Port번호가 식별하는 것 https://youtu.be/JDh_lzHO_CA L4(전송 계층) --- Port 번호 L3(네트워크 계층) --- IP 주소 L1~L2 --- MAC 주소 MAC 주소 : NIC(Network Interface Card, 랜카드)에 대한 식별자 IP 주소 : Host(인터넷에 연결된 컴퓨터)에 대한 식별자 Port 번호 : 프로세스 식별자, 서비스 식별자, 인터페이스 식별자 ... 관점에 따라 다르게 해석할 수 있다. * NIC에 IP 주소가 여러 개 바인딩될 수 있다. => 컴퓨터 하나의 IP 주소가 여러 개일 수 있다. * MAC 주소(== 하드웨어 주소)는 변경 가능하다.
공유기의 IP주소는 왜 192.168.0.1이 되었을까요? | 쉽게보는 IT 상식, 디모의 테크 노트 https://youtu.be/cSA8sTYs4xY IPv4 => 0.0.0.0 부터 255.255.255.255 까지 총 4,294,967,296개의 주소를 나타낼 수 있다. 모두 인터넷을 사용하는 데 부여하는 것이 아니라 용도에 따라 나눠서 사용한다. ip 주소 고갈을 회피한 방법 - 사설 IP : 제한된 공간에서만 사용하는 사설 네트워크 허용. 인터넷에 직접 접속한 상태가 아닌 집이나 사무실 등에서 공유기나 라우터 등의 장비를 통해 내부에서 연결되어 있는 네트워크. 각각의 사설 네트워크마다 중복된 사설 IP 주소를 재사용할 수 있다. - DHCP(Dynamic Host Configuration Protocol) : 본래 IP는 장치 쪽에서 직접 설정하지만 DHCP를 사용하면 장치가 연결된 라우터에서..
인터럽트와 시스템 콜을 설명합니다! 당연히 유저 모드, 커널 모드도 설명해야겠죠? 그런데 이 모든게 프로그래밍 언어와 무슨 상관이냐구요?? 상관있죠! 왜 상관있냐면요..! https://youtu.be/v30ilCpITnY User mode & Kernel mode - User mode : 우리가 개발하는 프로그램은 일반적으로 유저 모드에서 실행 - User mode => Kernel mode : 프로그램 실행 중에 인터럽트가 발생하거나 시스템 콜을 호출하게 되면 커널 모드로 전환 - Kernel mode : 프로그램의 현재 CPU 상태를 저장함. 커널이 인터럽트나 시스템 콜을 직접 처리. 즉, CPU에서 커널 코드가 실행됨. 처리가 완료되면 중단됐던 프로그램의 CPU 상태를 복원 - Kernel mode => User mode : 다시 통제권을 프로그램에게 반환 - User mode : 프로그램이 이어서 실행됨 커널(Kernel) - 운영체제의 핵심 - 시스템의 전반을 ..
스택과 큐 설명! 참 쉽죠~~? 기술 문서 읽다가 큐 만났을 때 팁과 스택/큐와 관련된 에러들 그리고 해결책도 설명드려요!! https://youtu.be/-2YpvLCT5F8 ADT, Abstract Data Type : 추상 자료형. 개념적으로 어떤 동작이 있는지만 정의. 구현에 대해서는 다루지 않음 DS, Data Structure : 자료구조. ADT에서 정의된 동작을 실제로 구현한 것 스택(stack) - LIFO(Last In First Out) 형태로 데이터를 저장하는 구조 - 주요 동작 : push, pop, peek - 사용 사례 : stack memory, stack frame 큐(queue) - FIFO(First In First Out) 형태로 데이터를 저장하는 구조 - 주요 동작 : enqueue, dequeue, peek - 사용 사례 : producer/consumer architecture - 기술..
우선순위 큐와 힙의 개념과 차이, 사용 사례를 설명합니다! 힙이 어떻게 동작하는지도 예를 통해 자세히 설명합니다! https://youtu.be/P-FTb1faxlo 우선순위 큐(Priority queue) - 큐와 유사하지만 우선순위가 높은 아이템이 먼저 처리됨 - 주요 동작 : insert, delete, peek 힙(Heap) - 주로 이진 트리 기반으로 구현 -- 트리(tree) : 부모-자녀처럼 계층적인 형태를 가지는 구조 -- 이진 트리(binary tree) : 자녀가 최대 두 개인 트리 - max heap : 부모 노드의 키가 자식 노드(들)의 키보다 크거나 같은 트리 - min heap : 부모 노드의 키가 자식 노드(들)의 키보다 작거나 같은 트리 - 주요 동작 : insert, delete, peek Priority queue와 Heap의 관계 힙의 키를 우선순위로 사용한다면 힙은 우선순위 큐의 ..
변수와 객체와 메모리의 관계! 자바를 예로 들어 변수와 객체는 메모리에 어떻게 저장되는지 정말 쉽게 설명해요! https://youtu.be/GIsr_r8XztQ 애플리케이션은 어떻게 실행되는가? - 애플리케이션 : 일반 사용자가 사용할 기능을 제공하는, 컴퓨터가 실행할 수 있는 명령어들의 집합 - 메모리 : 실행된 애플리케이션이 상주하는 곳 => 애플리케이션이 실행되기 위해선 반드시 메모리에 올라가야 한다. - CPU : 명령어를 실행하는 주체 메모리 구조 - 애플리케이션에 할당되는 메모리는 내부적으로 여러 영역으로 나뉜다. - stack 메모리 : 함수나 메서드의 지역 변수와 매개 변수가 저장됨. 함수나 메서드가 호출될 때마다 스택 프레임이 쌓임 - heap 메모리 : 객체가 저장됨 * 참조 변수는 주소값을 가진다. => (내부적으로 어떤 형태로든 주소값을 갖고 있긴 하겠지만) C언어의 포인터처럼 주소값 자체..